包含守卫在名称空间之间是否应该是唯一的?
我在两个名称空间中使用相同的类名,比如说A和B.在包含不同命名空间的类时,包含保护是否应该是唯一的?
我的意思是不能有两个文件名称AFile.h(在不同的目录中)具有相同的包含警卫和声明不同的命名空间?
档案1:
#ifndef AFILE_H
#define AFILE_H
命名空间A {
CAFile类
{...
};
};
#万一
文件2:
#ifndef AFILE_H
#define AFILE_H
命名空间B {
CAFile类
{...
};
};
#万一
没有找到相关结果
已邀请:
4 个回复
蹄寄噬非芹
耐钨徒
藐刚
我不知道每个说法使用一个命名空间,但是包含保护对于你的打包接口应该是唯一的(它可以都在一个命名空间内,也可以分布在多个命名空间中)。
嘘伪
,因为它在我关心的编译器上得到支持,你可以避免在这里提到的问题。如果你想使用
警卫,那么你可能需要聪明一点。否则
ing
可能不起作用,因为你已经
d
。 我不同意其他情况下的风格指南,但谷歌建议
。虽然这确实意味着如果你将文件复制到不同的路径,你将不得不更新
警卫。