我问的是C++项目中广泛使用的最佳实践。我需要在项目中有自己的类型。它是几个typedef的集合。是包含包含C++中类型良好实践的头文件,还是使用namespace更好。如果是这样,为什么?这两种方式的优缺点是什么?现在看起来像这样:类型.h:#ifndefTYPES_H#defineTYPES_H#include//forwarddeclarationclassClass;typedefintTInt;//...typedefstd::listclass_list;#endif类.h:#ifndefCLASS_H#defineCLASS_H#include"types.h"class
用#include可以包含其他头文件中变量、函数的声明,为什么还要extern关键字?如果我想引用一个全局变量或函数a,我只要直接在源文件中包含#include(xxx.h包含了a的声明)不就可以了么,为什么还要用extern呢?这个问题一直也是似是而非的困扰着我许久,经过实践和查找资料,有如下总结:一、头文件首先说下头文件,其实头文件对计算机而言没什么作用,她只是在预编译时在#include的地方展开一下,没别的意义了,其实头文件主要是给别人看的。我做过一个实验,将头文件的后缀改成xxx.txt,然后在引用该头文件的地方用#include"xxx.txt",编译,链接都很顺利的过去了,由此可
用#include可以包含其他头文件中变量、函数的声明,为什么还要extern关键字?如果我想引用一个全局变量或函数a,我只要直接在源文件中包含#include(xxx.h包含了a的声明)不就可以了么,为什么还要用extern呢?这个问题一直也是似是而非的困扰着我许久,经过实践和查找资料,有如下总结:一、头文件首先说下头文件,其实头文件对计算机而言没什么作用,她只是在预编译时在#include的地方展开一下,没别的意义了,其实头文件主要是给别人看的。我做过一个实验,将头文件的后缀改成xxx.txt,然后在引用该头文件的地方用#include"xxx.txt",编译,链接都很顺利的过去了,由此可