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

来源:互联网 发布:软件企业资质 编辑:程序博客网 时间:2024/06/05 00:57

**在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;}
原创粉丝点击