摘要:
1、指向const对象的指针const double pi = 3.14;double *ptr = π //error:ptr is a plain pointerconst double *cptr = π //ok:cptr is a pointer to const不能用void *指针保存const对象的地址,而必须使用const void... 阅读全文
摘要:
char ca1[] = {'C','+','+'}; //no nullchar ca2[] = {'C','+','+','\0'}; //explicit nullchar ca3[] = "C++"; //null terminator added automaticallyca1的维数是3,而ca2和ca3的维数则是4下面的初始化将导致编译时的错误:cons... 阅读全文
摘要:
1、头文件用于声明而不是用于定义定义只可以出现一次,而声明可以出现多次。下列语句是一些定义,不应该放在头文件里:extern int ival = 10;double fica_rate;虽然ival声明为extern,但是它有初始化式,代表这条语句是一个定义。类似地,fica_rate的声明虽然没有初始化式,但也是一个定义,因为没有关键字extern。同一个程序中有两个以上文件含有上述任一个定义... 阅读全文
摘要:
在全局作用域里定义非const变量时,它在整个程序中都可以访问。可以把一个非const变量定义在一个文件中,假设已经做了合适的声明,就可以在另外的文件中使用这个变量://file_1.hint counter; //definition//file_2.hextern int counter; //uses counter from file_1.h++counter; //increm... 阅读全文
摘要:
定义用于为变量分配存储空间,还可以为变量指定初值,在一个程序中,变量有且仅有一个定义。声明用于向程序表明变量的类型和名字。可以使用extern关键字声明变量而不定义它。extern int i; //declares but does not define iint i; //declares and defines iextern声明不是定义,也不分配存储空间。只是说明变量定... 阅读全文