✍个人博客:https://blog.csdn.net/Newin2020?spm=1011.2415.3001.5343
📚专栏地址:C/C++知识点
📣专栏定位:整理一下 C++ 相关的知识点,供大家学习参考~
❤️如果有收获的话,欢迎点赞👍收藏📁,您的支持就是我创作的最大动力💪
🎏唠叨唠叨:在这个专栏里我会整理一些琐碎的 C++ 知识点,方便大家作为字典查询~
namespace命名空间的使用
用法 1
#include<iostream>
#include<string>
namespace China {
float population = 14.1; //单位:亿
std::string capital = "北京";
}
namespace Japan {
float population = 1.27; //单位:亿
std::string capital = "东京";
}
using namespace Japan;
int main() {
std::cout << "首都:" << capital << std::endl;
std::cout << "人口:" << population << std::endl;
std::cout << "首都:" << China::capital << std::endl;
std::cout << "人口:" << China::population << std::endl;
system("pause");
return 0;
}
用法 2
#include<iostream>
#include<string>
namespace China {
float population = 14.1; //单位:亿
std::string capital = "北京";
}
namespace Japan {
float population = 1.27; //单位:亿
std::string capital = "东京";
}
//注意:没有namspace
//直接指定命名空间中的标识符,而不是整个域名
using China::capital;
using Japan::population;
int main() {
std::cout << "首都:" << capital << std::endl;
std::cout << "人口:" << population << std::endl;
system("pause");
return 0;
}
用法 3(错误用法)
#include<iostream>
#include<string>
namespace China {
float population = 14.1; //单位:亿
std::string capital = "北京";
}
namespace Japan {
float population = 1.27; //单位:亿
std::string capital = "东京";
}
using namespace China;
using Japan::population;
int main() {
std::cout << "首都:" << capital << std::endl;
std::cout << "人口:" << population << std::endl; //出错
system("pause");
return 0;
}
错误原因:
using namespace China; //China命名空间中有population
using Japan::population; //又单独声明了Japan中的population
解决方案:
指定完成的域名来表示。
......
int main(){
std::cout << "首都:" << capital << std::endl;
std::cout << "人口:" << Japan::population << std::endl;
system("pause");
return 0;
}