1. 8 进制开头加0,16进制开头加0x。
2. char 数组可以用字符串数组进行初始化操作,char str[] = “asdfgh”,不能进行字符串的赋值操作。
3. 指针地址相减插值为指针类型的个数。
4. 宏定义只是简单的文本替换。定义中没有括号的话是不会加括号运算的。
5 . 构造函数在创建对象的时候先调用父类,再调用子类,析构的时候相反。
父类指针new子类对象,析构时父类不是virtual的析构函数时只会调用父类的析构函数,且只会调用第一个继承的基类。
6. 针对年代久远的代码,优先选择——在这段代码之外写一段代码,调用该代码的一些模块,完成新的功能需求。
7. 3.9e3 e后面必须是一个整数,不可以是小数啊。
8. sizeof(void) 会出现错误,就像 void n;一样不合法,sizeof(void*)可以的,与目标编译平台有关,为sizeof(int)32位系统为4。
9 . 在类的派生类中,直接基类可以直接访问间接基类不能访问公有成员和保护成员,万一是私有继承也不可以。
10. 小写字母ASCII 97- 122 大写 65-90。
11. strcpy(s1,s2) 将s2字符拷贝到s1中连同结束符\0 strlen 不包括结束符。
12 . 在二维数组初始化中int a[2][4] 2,4 代表维度,初始化不能包括空括号,否则无法编译。
int a[2][3]={{1,2,3},{4,5,6}}; 看清小括号和大括号,小括号为逗号表达式,取最后一个值。
13. 对类求sizeof 大小为变量类型所占字节数,要进行内存对齐,空类一般为1,与类的实例无关的函数,编译器不会在内存中添加任何额外信息。对于带virtual的函数会在每一个类的实例中添加一个指向虚函数表的指针,所以在32位系统中sizeof为4。
14. 在函数中定义中没有说明extern 或者static ,则隐含为extern。
15. const int a 和int const a 都是声明一个整形常量。
16. const 和 * 的位置来判断,const位于*左侧,则修饰的是指针指向的值,const 位于* 右侧,修饰的是指针不变。
17. 函数调用不可以作为一个函数的形参。
18. x = -m++,即x = -m, m=m+1; x=x+8/++n,即n = n+1,x = x+8/n。
19. fopen(“abc.txt”,“w”);读写标志为双引号。
20. C++指向函数指针,静态成员函数时为:void (*p)(Base,Base) 非静态成员函数为void (Base::*p)(Base,Base) 。
21. 字符串gets(ss)执行后,不管ss内的字符,会直接覆盖掉。
22. ‘a’ 占一个字节, 注意区分“a” 字符串后加“\0”。
23. 数学计算符,优先级高于关系运算符。
24. 只有有符号的整数才有原码、反码和补码的!其他的类型一概没有。
25. C语言编译的首要工作就是检查语法错误。预处理→编译(生成汇编)→汇编(生成机器码)→链接(生成可执行程序)。
26. 数组名为指向首地址的指针。
27. 友元类和本类的权限是一样的。
28. E-R图也称实体-联系图(Entity Relationship Diagram),提供了表示实体类型、属性和联系的方法。
29. char 字符相减可以以整数格式输出,printf(“%d,%c\n”,a+’2’-’0’,a+’3’-’0’)。
30. sizeof(array)array为数组名,则为数组字节大小。
31. B类继承A类,声明一个A类的指针,指向B类的对象,调用成员函数时A中不是虚函数时调用A类的,A中为虚函数时调用B类中的方法。
32. 只有当一个类被定义为基类的时候,才会把析构函数写成虚析构函数。
33. 算法的五个特性:有穷性、确定性、可行性、有零个或多个输入、有一个或多个输出。
34. 类可以有多个构造函数,不同构造函数之间必须在参数数量或参数类型上有所区别。
35. 窗口句柄相当于一个身份证,是一个整数,不同串口不同,处理函数可以相同。
36. 如果函数值的类型和返回值类型不同,以函数值类型为准;如果形参与实参类型不一致,应以形参类型为准。
37. 函数缺省参数只能从右往左缺,字符传给整数类型时会传ASCII码值。
38. 或表达式左边为true时不再对右边进行运算。
39. char *p () 为指针函数,char (*p) () 是函数指针。
40. 建立类模板的实例化过程为先将类模板实例化,再定义类模板的对象。
41. c++引进了引用的概念,对编程带来了很多方便。一个引用可以看作是某个变量的别名,对引用进行操作就像对原变量进行操作一样。e.g. int a; int & ra=a;
42. 非虚函数静态绑定,静态绑定是指指向声明时的对象,虚函数动态绑定,动态绑定是指指向引用的对象。
43. char a = ‘\82’;则变量a包含一个字符,并从右侧开始运算,所以a的值为‘2’。
44. 机器运算时为补码运算,补码为为反码加1。
45. 函数指针与该指针所指的函数必须具有相同的noexcept异常说明。
46. 应尽量避免:构造函数声明为虚函数,构造函数中调用虚函数,析构函数中调用虚函数。
47. 若用数组名作为调用函数的实参,则传递给形参的是数组的首地址。数组名就是个指针,指向数组这一串存储单元的首地址位置。
48. 1|2 是按位或运算,|| 是逻辑或,必须清晰啊,这再模糊不像话了就!
49. 友元能通过类的对象访问类中所有成员。
50. 在执行读文件操作时,如果遇到文件尾,则函数feof(fp)返回逻辑真(非零值),否则,返回逻辑假。
菜鸡一枚,如有错误,欢迎指正!