C++重复定义命名空间
两个.h文件中namespace名字相同,命名空间中成员名称无重复,那么他们会合并为一个命名空间,编译通过
两个.h文件中namespace名字相同,命名空间中成员名称有重复,那么程序会在链接时报错。因为连接器会检测到重复定义的变量
结论:重复定义只针对有内存操作的变量等相关定义,命名空间定义没有内存相关操作,所以不存在重复定义问题。
两个.h文件中namespace名字相同,命名空间中成员名称无重复,那么他们会合并为一个命名空间,编译通过
两个.h文件中namespace名字相同,命名空间中成员名称有重复,那么程序会在链接时报错。因为连接器会检测到重复定义的变量
结论:重复定义只针对有内存操作的变量等相关定义,命名空间定义没有内存相关操作,所以不存在重复定义问题。