[C++] 用Xcode来写C++程序[6] Name visibility

简介:

用Xcode来写C++程序[6] Name visibility

 

此小结包括了命名空间的一些使用细节

 

命名空间

#include <iostream>
using namespace std;

namespace foo {
    // 函数
    int value() {
        return 5;
    }
}

namespace bar {
    // 常量
    const double pi = 3.1416;
    
    // 函数
    double value() {
        return 2*pi;
    }
}

int main () {
    cout << foo::value() << '\n';
    cout << bar::value() << '\n';
    cout << bar::pi << '\n';
    
    return 0;
}

打印结果
5
6.2832
3.1416
Program ended with exit code: 0

 

 

使用命名空间

#include <iostream>
using namespace std;

namespace first {
    int x = 5;
    int y = 10;
}

namespace second {
    double x = 3.1416;
    double y = 2.7183;
}

int main () {
    // 声明使用命名空间中的某个元素
    using first::x;
    using second::y;
    cout << x << '\n';
    cout << y << '\n';
    
    // 直接使用命名空间中的某个元素
    cout << first::y << '\n';
    cout << second::x << '\n';
    
    return 0;
}

打印结果
5
2.7183
10
3.1416
Program ended with exit code: 0


#include <iostream>
using namespace std;

namespace first {
    int x = 5;
    int y = 10;
}

namespace second {
    double x = 3.1416;
    double y = 2.7183;
}

int main () {
    // 声明使用命名空间first中的元素
    using namespace first;
    cout << x << '\n';
    cout << y << '\n';
    
    // 使用命名空间second中的元素
    cout << second::x << '\n';
    cout << second::y << '\n';
    
    return 0;
}

打印结果
5
2.7183
10
3.1416
Program ended with exit code: 0


#include <iostream>
using namespace std;

namespace first {
    int x = 5;
}

namespace second {
    double x = 3.1416;
}

int main () {
    // 使用命名空间first
    {
        using namespace first;
        cout << x << '\n';
    }
    
    // 使用命名空间second
    {
        using namespace second;
        cout << x << '\n';
    }
    
    return 0;
}

打印结果
5
3.1416
Program ended with exit code: 0

目录
相关文章
|
3月前
|
C++
C++ 根据程序运行的时间和cpu频率来计算在另外的cpu上运行所花的时间
C++ 根据程序运行的时间和cpu频率来计算在另外的cpu上运行所花的时间
47 0
|
1月前
|
存储 程序员 编译器
简述 C、C++程序编译的内存分配情况
在C和C++程序编译过程中,内存被划分为几个区域进行分配:代码区存储常量和执行指令;全局/静态变量区存放全局变量及静态变量;栈区管理函数参数、局部变量等;堆区则用于动态分配内存,由程序员控制释放,共同支撑着程序运行时的数据存储与处理需求。
113 21
|
5月前
|
编译器 C++
《Effective C++ 改善程序与设计的55个具体做法》 第一章 笔记
《Effective C++ 改善程序与设计的55个具体做法》 第一章 笔记
|
2月前
|
C++
【C++基础】程序流程结构详解
这篇文章详细介绍了C++中程序流程的三种基本结构:顺序结构、选择结构和循环结构,包括if语句、三目运算符、switch语句、while循环、do…while循环、for循环以及跳转语句break、continue和goto的使用和示例。
49 2
|
4月前
|
NoSQL API Redis
c++开发redis module问题之为什么在使用RedisModule_GetApi之前要通过((void**)ctx)[0]这种方式获取其地址
c++开发redis module问题之为什么在使用RedisModule_GetApi之前要通过((void**)ctx)[0]这种方式获取其地址
|
3月前
|
PHP C++ Python
右手坐标系,空间点绕轴旋转公式&程序(Python和C++程序)
右手坐标系,空间点绕轴旋转公式&程序(Python和C++程序)
67 0
|
3月前
|
C++
c++学习笔记03 程序流程结构
C++学习笔记,主要介绍了程序流程结构,包括顺序结构、选择结构和循环结构。选择结构中详细解释了if语句、三目运算符和switch语句的用法和注意事项。循环结构部分则涵盖了while循环、do-while循环和for循环的语法和使用技巧。此外,还介绍了跳转语句,包括break、continue和goto语句的用途和用法。
35 0
|
5月前
|
C语言 图形学 C++
|
5月前
|
编译器 C++
C++:继承性_程序
C++:继承性_程序
31 1
|
5月前
|
存储 算法 程序员
【C++进阶】深入STL之vector:构建高效C++程序的基石
【C++进阶】深入STL之vector:构建高效C++程序的基石
54 1