看effective C++,越看越不懂,就想着先来看看《thinking in C++》这本书。
声明与定义的区别:无论变量还是函数,声明是只告诉计算机叫什么名字,定义是为这个名字分配内存空间。
如果仅是声明而不定义,则要用extern,对于变量必须要使用extern,而对于函数,不带函数体的函数名连同参数表或返回值会自动地作为一个声明,所以extern可选。
使用预处理器避免对一个结构重复定义。#ifndef FOO_H_ #define FOO_H #endif
看effective C++,越看越不懂,就想着先来看看《thinking in C++》这本书。
声明与定义的区别:无论变量还是函数,声明是只告诉计算机叫什么名字,定义是为这个名字分配内存空间。
如果仅是声明而不定义,则要用extern,对于变量必须要使用extern,而对于函数,不带函数体的函数名连同参数表或返回值会自动地作为一个声明,所以extern可选。
使用预处理器避免对一个结构重复定义。#ifndef FOO_H_ #define FOO_H #endif