现在我们开始进入cpp的学习,我们首先要介绍的是命名空间(namespace),这是一个关键字。
在高唐等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供网站建设、成都网站设计 网站设计制作定制制作,公司网站建设,企业网站建设,品牌网站制作,营销型网站建设,成都外贸网站制作,高唐网站建设费用合理。我们自己定义的变量、函数可能跟库里面重名冲突。当进入公司项目组,多人协作,同事之间写的代码可能存在命名冲突。而c语言没有好的办法解决这一问题,因此,cpp提出了一个新语法,命名空间。
#include#include//定义一个叫qwe的命名空间 -- 域
namespace qwe
{
//他们还是全局变量,放在静态区
int rand = 0;
int a = 1;
}
int main()
{
printf("%d\n", rand);
printf("%d\n", qwe::rand);
return 0;
}
这里的rand如果不指定命名空间域的话,就和库里面的rand函数命名冲突了。当然,命名空间中也可以定义变量、函数、类型
namespace qwe
{
//命名空间中可以定义变量/函数/类型
int rand = 10;
int Add(int left, int right)
{
return left + right;
}
struct Node
{
struct Node* next;
int val;
};
}
当然,命名空间可以嵌套
namespace N1
{
int a;
int b;
int Add(int left, int right)
{
return left + right;
}
namespace N2
{
int c;
int d;
int Sub(int left, int right)
{
return left - right;
}
}
}
那么,命名空间如何使用呢?这里我们需要知道域作用限定符 :: 。在c语言阶段我们已经知道了一些。
int a = 0;
int main()
{
int a = 1;
printf("%d\n", a); //1
printf("%d\n", ::a); //0
return 0;
}
知道了这些,我们理解起来应该会很轻松。
int main()
{
qwe::rand = 20; //变量
struct qwe::Node node; //结构体的调用稍微有点区别
qwe::Add(1, 2); //函数
N1::Add(1, 2);
N1::N2::Sub(3, 4); //嵌套命名空间的调用
struct asd::ListNode ln; //命名空间在头文件中也一样
asd::ListInit();
return 0;
}
全部展开也是可以的,展开一部分也是可以的
using namespace asd;
using asd::ListNode;
接下来就是我们初学者常见的代码了
#includeusing namespace std; //C++库的实现定义在一个叫std的命名空间
int main()
{
cout<< "hello world"<< endl;
return 0;
}
还有这样的
#includeint main()
{
std::cout<< "hello world"<< std::endl;
return 0;
}
这样的
#includeusing std::cout;
using std:: endl;
int main()
{
cout<< "hello world"<< endl;
return 0;
}
到这里我们已经能看懂这些代码的大概了
下面我们来简单介绍下cout、endl和cin
#includeusing namespace std; //练习的话我们全部展开好了
int main()
{
cout<< "hello world"<< endl;
cout<< "hello world\n";
printf("hello world\n");
int i = 10;
double d = 1.11; //cout 流插入
cout<< i<< " "<< d<< endl; //自动识别类型
cin >>i >>d; //流提取
cout<< i<< " "<< d<< endl;
return 0;
}
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧