C++基本知识整理(1)

**在C++编程中using namespace std;这条语句很常见,其中,namespace就是命名空间,而using是声明,std是命名空间名。
命名空间就是为了解决C++中函数变量的命名冲突所采取的一种措施,能够解决多模块协同开发出现变量函数命名的冲突问题。**
1、using声明及作用域
using namespace name::name;
一旦使用using声明,就可以直接引用命名空间中的成员,而不需要再引用该成员的命名空间。
例:

    #include <string>
    #include <iostream>
    using std::cin;     //引用标准库std中的成员cin;
    using std::string;  //引用标准库std中的成员string;    

    int main()
    {
        string temp;   //true,string已经声明,可以直接使用
        cin>>temp;     //true,cin已经声明,可以直接使用
        cout<<temp;    //false,cout未声明,无法直接使用
        std::cout<<temp; //true,通过全名使用cout,

        return 0;
    }

在using 指令中,using后面必须跟关键字namespace,而且最后必须为命名空间名;using 声明中,关键字后面没有namespace, 后面必须为命名空间的成员名。

#include <iostream>
using namespace  std;

namespace nsA{
    int var = 12;
}

namespace nsB{
    double var = 12.33;
}

int main()
{
    下面两个using都只在{}内起作用,去掉{}会出现重复定义的情况
    {
        using  namespace nsA;   
        cout<<"nsA var="<<var<<endl;
    }
    {
        using  namespace nsB;   
        cout<<"nsB var="<<var<<endl;
    }

    return 0;
}

2、命名空间定义格式
namespace 命名空间名{
命名空间生命内容
}
例:

#include <iostream>
using namespace std;     

namespace nsA
{
    void print()
    {
        cout<<"nsA"<<endl;
    }
}

namespace nsB
{
    void print()
    {
        cout<<"nsB"<<endl;
    }
}

int main()
{
    nsA::print();
    nsB::print();

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值