#ifndef TEST_H_
#define TEST_H_
namespace HW
{
  void fun(
void);
}
#endif
#include"fun.h"
void HW::fun(
void)
{
  
}
#include<iostream>
#include"fun.h"
int main(
int argc, 
char **argv)
{
  HW::fun();
  
  
  
  
return EXIT_SUCCESS;
} 
#ifndef TEST_H_
#define TEST_H_
namespace HW
{
  
void fun();
}
#endif
#include"fun.h"
using namespace HW; 
void fun()
{
  
}
#include<iostream>
#include"fun.h"
int main(
int argc, 
char **argv)
{
  HW::fun();
  
  
  
  
return EXIT_SUCCESS;
} 
以上是namespace的常用写法,namespace是用来限定作用域,只有调用了using namespace才可使用该命名区域内的成员,当不同头文件中创建了相同的命名空间,有以下两种情况:  1)名字空间名称相同,成员名字不同,那么他们会自动合并为一个名字空间,可以理解为追加  2)名字空间名称相同,成员名称相同。那么程序会在调试过程的link时报错。因为连接器会检测到重复定义的变量。
                
                
                
        
    
 
                    转载请注明原文地址: https://ju.6miu.com/read-3687.html