P2:C++命名空间

命名空间的作用

关键字:namespace

作用:对标识符的名称进行本地化,以避免命名冲突

命名空间的定义

//常规定义方式
namespace gxd
{
    //命名空间中可以定义变量、函数、结构体(类)
    //......
}

要点:

        1.命名空间中可以定义变量、函数、结构体(类)

        2.命名空间可以嵌套

        3.同一个工程中允许存在多个名称相同的命名空间,编译器最后会合成为一个命名空间

        4.一个命名空间定义了一个新的作用域

命名空间的使用

命名空间名称+作用域限定符

int main()
{
    printf("%d\n",gxd::length);
    return 0;
}

使用using引入命名空间中的某个成员

using gxd::weight;

int main()
{
    printf("%d\n",gxd::length);
    printf("%d\n",weight);
    return 0;
}

using namespace 命名空间名称

using namespace gxd;

int main()
{
    printf("%d\n",length);
    printf("%d\n",weight);
    return 0;
}

总结

日常练习直接使用using namespace std;即可,很方便

但是在项目开发中推荐使用其他两种

补充内容

std是C++标准库的命名空间名,C++将标准库的定义(实现)都放到了这个命名空间中;而声明放在了<iostream>头文件中

cout和cin分别是ostream和istream类型的对象,使用cout和cin必须包含<iostream>头文件,并且需要按照命名空间的使用方式使用std

C++的输入输出更加方便,可以自动识别变量类型,不需要像C语言的printf和scanf一样需要手动控制格式

旧编译器支持<iostream.h>格式,后续编译器已经不再支持,推荐使用<iostream>+std格式

  • 8
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值