摘要:
最终实现的效果图:步骤一:接下来在资源视图中添加一个ToolBar工具栏(具体怎么添加在这儿就不详细讲解了!)添加后的ToolBar以及工具栏中每个按钮 所命名的ID如下:(可以自定义,只要不重名就可以,一般命名规则是见名知义)那么在资源视图中的工具栏,我们就制作完成了!!步骤二:以上仅仅是进行了按钮的添加,而按钮上面那些相对应的 图片还没有导入,应该将图片导入到资源视图中的Icon中,格式必须为 *.ico,并对每张ICO图片也进行ID的分配步骤三:打开代码添加一个 InitToolBar() 函数成员BOOL CDormDlg::InitToolBar(){ initializeFl... 阅读全文
摘要:
构造函数的执行次序如下:1、调用基类构造函数,调用顺序按照他们的继承时声明的顺序。2、调用内嵌成员对象的构造函数,调用顺序按照他们在类中声明的顺序3、派生类的构造函数体中的内容析构函数的调用顺序相反先看一个拷贝构造函数的调用,Point拷贝构造函数调用了几次???Line拷贝构造函数又调用了几次???#include #include using namespace std;class Point{public: Point(int xx=0,int yy=0) { X = xx; Y = yy; coutusing namespace std;... 阅读全文
摘要:
〈一〉开门见山我们先通过两个例子对比了解一下reinterpret_cast(32位操作系统为例)1〉#include <iostream>using namespace std;int main(){ int myArray[5]={0,1,2,3,4}; char myChar[5]={'H','a','o','Y','u'}; int *aPoint = myArray; char *bPoint = myChar; for(int i=0;i<5;i++) { cout<<*( 阅读全文
摘要:
sizeHint 这个属性所保存的 QSize 类型的值是一个被推荐给窗口或其它组件(为了方便下面统称为widget)的尺寸,也就是说一个 widget 该有多大,它的一个参考来源就是这个 sizeHint 属性的值,而这个值由 sizeHint() 函数来确定。但是 widget 的大小的确定还... 阅读全文
摘要:
_cdecl和__stdcall都是函数调用规范(还有一个__fastcall),规定了参数出入栈的 顺序和方法,如果只用VC编程的话可以不用关心,但是要在C++和Pascal等其他语言通信的时候就要注意了,只有用相同的方法才能够调用成功.另外, 像printf这样接受可变个数参数的函数只有用cde... 阅读全文
摘要:
1、LIB与DLL文件的区别 DLL是一个完整的程序,称为“动态链接库”,DLL中包含的主要有三块内容:1.全部变量 2.函数接口 3.资源;DLL中有一个函数导出表,其中每一项都是一个函数名称。通过一定的方式连接这些函数接口,来调用这些函数的功能。dll有两种加载方式:隐式链接和显式链接。dll一... 阅读全文
摘要:
原文转载:http://elf8848.iteye.com/blog/1739571 IME_WAIT状态原理 ---------------------------- 通信双方建立TCP连接后,主动关闭连接的一方就会进入TIME_WAIT状态。 客户端主动关闭连接时,会发送最后一个ack后,然后会进入TIME_WAIT状态,再停留2个MSL时间(后有MSL的解释),进入CLOSED状态。... 阅读全文
摘要:
一、套接字选项:有以下3中方式可以对套接字选项进行设置:getsockopt 和 setsockopt 函数fcntl函数ioctl函数getsockopt和setsockopt函数用于获得和设置套接字的选项值,fcntl用来操作文件描述符的有关属性,比如设置套接字文件描述符工作于非阻塞模式等,而ioctl用于控制I/O设备。套接字选项和协议层协议层(Level) 选项(optname)含义 SOL_SOCKET (套接字通用选项) SO_KEEPALIVE O_RESUSEADDR SO_... 阅读全文
摘要:
解读IplImage结构 typedef struct _IplImage { int nSize; /* IplImage大小 */ int ID; /* 版本 (=0)*/ int nChannels; /* 大多数OPENCV函数支持1,2,3 或... 阅读全文
摘要:
运算符重载的规则如下: 1、C++中的运算符除了少数几个之外,全部可以重载,而且只能重载C++中已经有的运算符。 2、重载之后运算符的优先级和结合性都不会改变 3、运算符重载是针对新类型数据的实际需要,对原有运算符进行适当的改造,一般来讲,重载的功能应当与原有功能相类似,不能改变原运算符的操作对象个数,同时至少要有一个操作对象是自定义类型。 注意:不能重载的运算符只有5个,它们... 阅读全文
摘要:
如果你想在Windows平台上构建服务器应用,那么I/O模型是你必须考虑的。 Windows操作系统提供了五种I/O模型,分别是: ■ 选择(select); ■ 异步选择(WSAAsyncSelect); ■ 事件选择(WSAEventSelect); ■ 重叠I/O(Overlapped I/O); ■ 完成端口(Completion Port) 。 每一种模型适... 阅读全文
摘要:
ASSERT()被测试它的参数,如果参数为零,则中断执行并打印一段说明消息。在Release版本的程序中它不起任何作用。 ASSERT()使用的时候必须保证参数表达式中不能有函数调用,因此对于任何有函数调用的参数表达式,应该使用宏VERIFY(),以保证表达式中的函数调用在Release版本中会被正确求值。 断言(assertion)用断言信息(程序,模块,assertion行)的对话框执行,... 阅读全文
摘要:
2、基本的Windows Socket API编程 需要在程序中添加下面的包含语句:#include #pragma comment( lib, "WS2_32" ) 使用Vc++编译时需添加编译链接依赖项ws2_32.lib库 协议寻址 在winsock中,应用程序通过Sockaddr_in 结构来指定IP地址和服务端口信息: sock... 阅读全文