C++基础
海涛高软
这个作者很懒,什么都没留下…
展开
-
QT实现窗口相互打开
准备两个窗口:窗口1中点击按钮打开窗口2窗口2中点击按钮打开窗口1最终界面如下:FR:徐海涛(hunk Xu)QQ技术交流群:386476712原创 2022-05-15 19:04:46 · 1464 阅读 · 0 评论 -
c++结构体
using namespace std;#include <iostream>#include <string>struct person { string name; int age;};int main(){ person p01{ "xuhaitao",56 }; cout << &p01 <<" "<<&(p01.name) << endl; cout << in.原创 2021-09-01 15:49:51 · 66 阅读 · 0 评论 -
C#实现后台启动某个服务
ProcessStartInfo startInfo = new ProcessStartInfo("C:\\Users\\Administrator\\Desktop\\Debug\\GuangMing.exe");startInfo.WindowStyle = ProcessWindowStyle.Hidden;Process.Start(startInfo);FR:徐海涛(hunk Xu)QQ技术交流群:386476712原创 2020-11-05 15:08:21 · 756 阅读 · 0 评论 -
mc100配合按钮使用
FR:徐海涛(hunk Xu)QQ技术交流群:386476712原创 2020-08-31 14:46:22 · 223 阅读 · 0 评论 -
c++ 函数模板的使用 相当于C#的泛型
#include "stdafx.h"#include <iostream>using namespace std;template <class T>T jiaFa(T& a, T& b) { //函数的定义 a += 2; return a + b;}int _tmain(int argc, char* argv[]){ float a = 9.2; float b = 7.2; cout << jiaFa(a, b).原创 2020-08-30 22:14:37 · 200 阅读 · 0 评论 -
c++ 形参传入指针
#include "stdafx.h"#include <iostream>using namespace std;int jiaFa(int*, int*); //函数的声明int _tmain(int argc, char* argv[]){ int a = 9; int b = 7; cout << jiaFa(&a, &b) << endl; //打印结果:36 cout << a <&l..原创 2020-08-30 22:06:30 · 267 阅读 · 0 评论 -
c++ 函数形参为引用,相当于C#的out
#include "stdafx.h"#include <iostream>using namespace std;int jiaFa(int&, int&); //函数的声明int _tmain(int argc, char* argv[]){ int a = 9; int b = 7; cout << jiaFa(a, b) << endl; cout << a << endl; syst..原创 2020-08-30 21:58:00 · 543 阅读 · 0 评论 -
c++ std::list的使用
一个需求是,有五个匣子,将物品放入数量最少的匣子当中std::list<CUCConnection*> m_listRunConnection[RUN_CONNECTION_LIST_SIZE]; FR:海涛高软(hunk Xu) QQ技术交流群:386476712原创 2018-04-30 08:02:43 · 3760 阅读 · 0 评论 -
c++ 纯虚方法的具体使用
备注: virtual 结合=0的方式,c++里面称这种方式为纯虚方法,而C#里面叫抽象方法,含有虚方法或抽象方法的类,不能够被实例化,只能被继承,并且抽象方法必须在子类中实现FR:海涛高软(hunk Xu)原创 2018-04-22 09:14:02 · 1271 阅读 · 0 评论 -
c++ void*
void指针可以指向任意类型的数据,即可用任意数据类型的指针对void指针赋值int* aa;void* pp=aa;FR:海涛高软(QQ技术交流群:386476712)原创 2018-04-12 10:26:55 · 218 阅读 · 0 评论 -
c++ memset 使用
FR:海涛高软(QQ技术交流群:386476712)原创 2018-04-12 10:24:02 · 156 阅读 · 0 评论 -
C++ ATL
ATL是一个产生C++/COM代码的框架,就如同C语言是一个产生汇编代码的框架 ATL又不同于MFC,它完全面向COM组件,其技术路线也不同于MFC,MFC使用的是C++中的继承、封装、嵌套等常规技术,而ATL使用了C++中模板、多继承等高级技术,甚至还用到了STL。所以学习和使用ATL要求我们必须熟悉这些C++高级特性。另一方面,ATL结构完全针对COM中的诸多规范,这就要求使用人员必须非常了...原创 2018-03-25 19:19:15 · 5301 阅读 · 0 评论 -
c++ windows网络编程底层涉及库
ws2tcpip.hws2tcpip.hwinsock2.hsocket_ops.ippFR:海涛高软(hunk Xu) QQ技术交流群:386476712原创 2018-03-25 18:40:29 · 1169 阅读 · 0 评论 -
c++ __stdcall 的使用
FR:海涛高软(hunk Xu)原创 2018-04-18 18:46:35 · 4735 阅读 · 0 评论 -
C++使用TiXml解析xml
XML文档如下:解析代码:const char * szDBCfg = "./LGCfg/DBConfig.xml"; TiXmlDocument doc(szDBCfg); if(doc.LoadFile()) { TiXmlHandle dochandle(&doc); TiXmlElement *father = dochandle原创 2018-03-24 10:13:15 · 1685 阅读 · 0 评论 -
客户端输入用户名和密码后提交触发
//登陆 public void Login(string account, string pass) { SelectServerData.Instance.SetServerInfo((int)SdkManager.Instance.GetPlatFrom(), account, pass); NetworkM...原创 2018-03-06 17:58:57 · 923 阅读 · 0 评论 -
c++ stringstream的使用
上面代码编译后结果: FR:海涛高软(hunk Xu) QQ技术交流群:386476712原创 2018-03-03 16:58:46 · 350 阅读 · 0 评论 -
c_str
c_str是Borland封装的String类中的一个函数,它返回当前字符串的首字符地址 const char *uin = str_uin.c_str();FR:海涛高软(hunk Xu) QQ技术交流群:386476712原创 2018-03-02 17:58:11 · 172 阅读 · 0 评论 -
volatile类型修饰符
volatile 英[ˈvɒlətaɪl] 美[ˈvɑ:lətl] adj. 易变的,不稳定的; (液体或油) 易挥发的; 爆炸性的; 快活的,轻快的;volatile是一个类型修饰符(type specifier),就像大家更熟悉的const一样,它是被设计用来修饰被不同线程访问和修改的变量。volatile的作用是作为指令关键字,确保本条指令不会因编译器的优化而省略...原创 2018-03-02 15:56:13 · 362 阅读 · 0 评论 -
C++枚举的使用
FR:海涛高软(hunk xu) QQ技术交流群:386476712原创 2018-03-02 14:03:42 · 442 阅读 · 0 评论 -
c++类的静态属性使用
上面代码打印结果如下: 如果把上面代码块中注释的那一行取消注释,则打印结果如下: 由此总结: 类中的静态属性必须要在类外显示的声明,否则不会被实例化,这一点一定要注意FR:海涛高软(hunk Xu) QQ技术交流群:386476712原创 2018-03-02 11:57:11 · 929 阅读 · 0 评论 -
boost库动态指针解决内存泄漏
// ConsoleApplication3.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include <iostream>#include <boost\shared_ptr.hpp>using namespace std;class haitao{private : int agee;public: int getAge(){原创 2018-01-10 08:54:01 · 1074 阅读 · 0 评论 -
c++ typedef关键字
// ConsoleApplication2.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include <iostream>#include <string>using namespace std;int _tmain(int argc, _TCHAR* argv[]){ //typedef就是简单的给类型重起个别名 typedef原创 2018-01-18 17:05:09 · 249 阅读 · 0 评论 -
c++ std::set集合具体使用
下面是set集合中保存的是一个结构体指针的情况:打印结果:FR:海涛高软(hunk Xu) QQ技术交流群:386476712原创 2018-04-30 09:57:55 · 15190 阅读 · 1 评论 -
c++完成端口网络编程
推荐两篇关于windows的完成端口(IOCP)的两篇文章:文章一文章二FR:海涛高软(hunk Xu) QQ技术交流群:386476712原创 2018-04-23 20:05:05 · 1359 阅读 · 0 评论 -
QByteArray QString QList zai
#include "myui.h"#include <QApplication>#include <QDebug>int main(int argc, char *argv[]){ QApplication a(argc, argv); MyUi w; w.show(); QByteArray *aa=new QByteArra...原创 2019-03-12 15:25:09 · 1426 阅读 · 0 评论 -
c++实现一个简单的类
person.h文件 person.cpp文件 程序主入口: 运行结果如下: 源代码:// ConsoleApplication2.cpp : 定义控制台应用程序的入口点。// QQ技术交流群:386476712#include "stdafx.h"#include "person.h"int person::familyC...原创 2019-01-24 15:35:46 · 1711 阅读 · 0 评论 -
c++使用完成端口实现服务器的高性能并发
如何使用c++,借助完成端口完成大并发服务器的搭建,是今天要讨论的问题,套路如下:套路总结一下: 创建完成端口 依据CPU核数创建一定数量的线程 线程中不断调用GetQueuedCompletionStatus检查完成端口状态,分别给予处理 创建一个socket,绑定IP和端口 将这个socket绑定到第一步创建的完成端口上获取当前服务器的CPU核数,根据...原创 2018-05-07 11:57:00 · 5193 阅读 · 0 评论 -
protobuf工程在VS2013上编译
在编译时,无需编译所有项目,只需要选择几个必须项目进行编译即可使用Vs2013编译libprotobuf项目时,报min和max找不到标识符的错误,具体如下:解决办法也比较简单,如下:FR:海涛高软(hunk Xu) QQ技术交流群:386476712原创 2018-04-28 13:08:39 · 653 阅读 · 0 评论 -
CConnDataMgr 连接数据管理器
CConnDataMgr * pConnDataMgr = CConnDataMgr::Instance(); //连接数据管理器是个单例pConnDataMgr->AddUsedConnData(pConnData);//将生成的连接数据对象交给连接数据管理器管理pConnData表示:CConnData类---------- CConnDataMgr::Instance()->AddRun原创 2018-05-05 18:41:47 · 237 阅读 · 0 评论 -
ProtoBuf如何在c++中使用
我使用protobuf版本号:protobuf-2.5.0vs版本:vs2010解压protobuf-2.5.0,解压后内容如下:进入上面画线的vsprojects文件夹接着打开记事本,注意我的用词是记事本,而非文本文档建两个文件:guozhu.proto :上面文件写好后,保存...原创 2018-04-27 14:10:39 · 9409 阅读 · 0 评论 -
ifndef/define/endif
主要目的是防止头文件的重复包含和编译标识的命名规范如下:FR:海涛高软(hunk Xu)原创 2018-04-21 17:55:44 · 267 阅读 · 0 评论 -
c++相互引用图
这种情况相当于:我中有你,你中有我FR:海涛高软(hunk Xu) QQ技术交流群:386476712原创 2018-05-02 16:47:05 · 300 阅读 · 0 评论 -
c++ 完成端口使用(一)
void CIocpCtrl::OnExecute(){ SPerHandleData* pstPerHandleData; SPerIoData* pstPerIoData; CCPSock* poSock; CCpListener* poListener; BOOL ...原创 2018-05-02 11:44:20 · 1107 阅读 · 0 评论 -
c++服务器网络图解
FR:海涛高软(QQ技术交流群:386476712)原创 2018-05-01 22:14:16 · 192 阅读 · 0 评论 -
c++ 服务器接收一个新连接后底层干什么
单例A,内部维护一个map,key是缓冲区的大小,value是一个缓冲池,缓冲池中含有很多个key大小的缓冲区数据包装对象的结构如下:原创 2018-05-01 18:24:06 · 174 阅读 · 0 评论 -
c++ 重叠IO技术
overlapped [əʊvə’læpt] adj. 重叠的; v. 交叠; 部分重叠( overlap的过去式和过去分词 ); 重叠IO可以让你要求操作系统为你传送数据,并且再传送完毕时通知你它使你的程序在IO进行过程中仍然能够继续处理事务。事实上操作系统内部正是以线程来完成重叠IO。你可以获得线程的所有利益,而不需付出什么痛苦代价。...原创 2018-04-25 09:41:23 · 697 阅读 · 0 评论 -
c++ ::operator new 内存分配
一般,在使用new时,编译器会执行两步操作:1.调用::operator new()分配计算后的内存;2.在分配好的内存上调用该类型的构造函数进行初始化。delete则刚好相反:1.调用对象的析构函数;2.使用::operator delete()释放内存。new在申请完内存后会调用该类型的构造函数,也就是说new在申请完内存后会初始化这段内存operator new()和::operator de原创 2018-05-01 11:17:37 · 169 阅读 · 0 评论 -
C++ #define 和typedef
运行结果: 下面也是一个宏定义使用的场景: 下面说说:typedef的使用define 在C或C++语言源程序中允许用一个标识符来表示一个字符串,称为“宏”ypedef是在C和C++编程语言中一个关键字。它用来对一个资料类型起一个新名字。目的是为了使源代码更易于阅读和理解。关键字typedef在编译阶段有效,由于是在编译阶段,因此...原创 2018-05-01 09:38:43 · 541 阅读 · 0 评论 -
c++服务器为客户端连接分配连接数据
FR:徐海涛(hunk Xu) QQ技术交流群:386476712原创 2018-05-01 12:09:21 · 583 阅读 · 0 评论