【C++知识点】namespace命名空间的使用

简介: 【C++知识点】namespace命名空间的使用

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;
}


目录
相关文章
|
18天前
|
编译器 C语言 C++
C++命名空间的using声明
C++命名空间的using声明
12 0
|
1月前
|
C++
【C++ 命名空间】C++ 命名空间与嵌套命名空间入门指南
【C++ 命名空间】C++ 命名空间与嵌套命名空间入门指南
30 0
|
17天前
|
C语言 C++ 数据格式
【C++对于C语言的扩充】C++与C语言的联系,命名空间、C++中的输入输出以及缺省参数
【C++对于C语言的扩充】C++与C语言的联系,命名空间、C++中的输入输出以及缺省参数
|
5天前
|
C++
C++命名空间详解
C++命名空间详解
13 0
|
19天前
|
编译器 C语言 C++
【C++】C++入门第一课(c++关键字 | 命名空间 | c++输入输出 | 缺省参数)
【C++】C++入门第一课(c++关键字 | 命名空间 | c++输入输出 | 缺省参数)
|
21天前
|
编译器 C语言 C++
【C++的奇迹之旅(二)】C++关键字&&命名空间使用的三种方式&&C++输入&输出&&命名空间std的使用惯例
【C++的奇迹之旅(二)】C++关键字&&命名空间使用的三种方式&&C++输入&输出&&命名空间std的使用惯例
|
21天前
|
开发框架 .NET 编译器
【C++】C++对C语言的关系,拓展及命名空间的使用
【C++】C++对C语言的关系,拓展及命名空间的使用
|
1月前
|
存储 算法 搜索推荐
【C++ 数据结构与算法 一站式备考指南】一文掌握 数据结构与算法课程 知识点(二)
【C++ 数据结构与算法 一站式备考指南】一文掌握 数据结构与算法课程 知识点
94 2
|
1月前
|
存储 算法 C++
【C++ 数据结构与算法 一站式备考指南】一文掌握 数据结构与算法课程 知识点(一)
【C++ 数据结构与算法 一站式备考指南】一文掌握 数据结构与算法课程 知识点
51 2
|
1月前
|
Unix 编译器 C语言
『C++成长记』C++入门——命名空间&缺省参数
『C++成长记』C++入门——命名空间&缺省参数