您好,欢迎访问三七文档
第一章结构体定义习惯C语言定义结构体一般情况下,在struct关键字前面加上typedef,可以方便结构体类型的使用。例如C部分源码如下:typedefstruct_COMMTIMEOUTS{DWORDReadIntervalTimeout;/*Maximumtimebetweenreadchars.*/DWORDReadTotalTimeoutMultiplier;/*Multiplierofcharacters.*/DWORDReadTotalTimeoutConstant;/*Constantinmilliseconds.*/DWORDWriteTotalTimeoutMultiplier;/*Multiplierofcharacters.*/DWORDWriteTotalTimeoutConstant;/*Constantinmilliseconds.*/}COMMTIMEOUTS,*LPCOMMTIMEOUTS;2.函数的输入,指针一般习惯使用constvoid*作为输入类型,可以隐藏函数内部的实现。静态数据编译问题(1)静态全局变量也是全局变量,编译连接之后全部放到全局数据域,只不过访问域不同。(2)如果static放到头文件中,每个包含了该头文件的C文件在连接时都会在全局数据域申请一块空间。而extern类型定义的变量只会在全局数据域一块空间,在所有的C文件中共享。(3)同时,static变量是没有申明的概念的,所用之处全部是定义,所以不能重复包含两次头文件(即不能使用同样的名字定义变量)。所谓定义就是直接在编译连接的时候会直接为之生成空间,而不是先使用符号引用一下,然后再地址回填(extern变量是这样干的)。(4)使用extern申明变量的含义是:wewillusethevariableincurrentfilewhichisdefinedinotherfile.类的静态变量使用方法静态数据成员的使用方法和注意事项如下:1、静态数据成员在定义或说明时前面加关键字static。//静态变量的定义2、静态成员初始化与一般数据成员初始化不同。静态数据成员初始化的格式如下:数据类型类名::静态数据成员名=值//静态变量的初始化这表明:(1)初始化在类体外进行,而前面不加static,(这点需要注意)以免与一般静态变量或对象相混淆。(2)初始化时不加该成员的访问权限控制符private,public等。(3)初始化时使用作用域运算符来标明它所属类,因此,静态数据成员是类的成员,而不是对象的成员。注意,static成员的初始化要在实现中进行,不能在头文件进行。c++子类重写父类方法需要声明需要在子类头文件里面进行声明,否则编译器会报错
本文标题:积累
链接地址:https://www.777doc.com/doc-4764492 .html