1.关于#define#define X 3 #define Y X*2 #undef X #define X 2 int z=Y;#define就是起名字的意思,后面两个值或变量就指的是同一个东西。#undef 就是解除#define的意思上面的程序意思就是: X=3, Y=X*2, X=2, z=Y=X*2=4.
2.一个关于数组定义的问题char *a [100]={"c++","basic","vb"};这里的[100]表示的是一个大小为100的结构,a[0]=c++;a[1]=basic;..以此类推。
3.内存对齐典型的用空间换取时间思想;记住整数倍关系4.指针任何类型的 指针 大小都是4byte。而那些数据类型只是标示指向的内存中存储的数据类型。
4.声明和定义定义也可以是声明。比如定义int a;如果编译器没有发现标识符a,就把其分配存储空间后,声明,表明已经知道了它的模样了。函数声明时,编译器会忽略点参数名,但我们可用名字来帮我们记忆参数意义。
5.按引用传递和按值传递一个是取别名,一个是参数拷贝的过程。
6.static作用有二:第一、是局部变量有记忆性;第二,使此作用域外的不可访问;
7.不能被重载的运算符只有5个:
.(成员访问运算符) . *(成员指针运算符) ::(域运算符) sizeof(长度运算符) ?:条件运算符
8.C++中BOOL型与bool型是不同的:
1)BOOL取值为TRUE和FALSE,是0与1的区别,而bool型取值true和false,是0和非0的关系;2)BOOL是int型,bool是布尔型; 3)bool只有一个字节,而BOOL的长度是编译环境而定,一般是4字节。