今天看书时,有一句话深得我心,在学习c++时,最重要的事就是集中关注概念,不要迷失在语言的技术细节中。
命名空间在C/C++中,变量、函数和类都是大量存在的,这些变量、函数和类的名称都将作用于全局作用域中,可能会导致很多命名冲突。
使用命名空间的目的就是对标识符和名称进行本地化,以避免命名冲突或名字污染,namespace关键字的出现就是针对这种问题的。
注意:一个命名空间就定义了一个新的作用域,命名空间中的所有内容都局限于该命名空间中
命名空间格式:
namespace + 命名空间的名字 + {}。其中{}中即为命名空间的成员。
*命名空间中的内容,既可以定义变量,也可以定义函数
*命名空间可以嵌套
*同一个工程中允许存在多个相同名称的命名空间,编译器最后会合成同一个命名空间中
namespace L
{
int a;
int b;
int Add(int p, int q)
{
return c + d;
}
namespace L2
{
int c;
int d;
int Sub(int p, int q)
{
return p - q;
}
}
}
命名空间使用方式:
1.命名空间名称+作用域限定符
int main()
{
printf("%d",L::printf);
return 0;
}
2.使用using引入命名空间的成员
using N::b;
int main()
{
printf("%dn", N::a);
printf("%dn", b);
return 0;
}
3.使用using将命名空间引入
using namespce L;
int main()
{
printf("%dn", a);
printf("%dn", b);
Add(10, 20);
return 0;
}
输入和输出
c语言用scanf和printf输入输出,c++cin[标准输入]cout[标准输出],c语言需要stdio作头文件,c++需要包含头文件iostream以及std标准命名空间。
c++输入输出不需要%d,%f,%c,来增加数据格式控制。
cin是以遇到空格,tab或者换行符作为分隔符的
#includeusing namespace L; int main() { int a; // 输入 cin >> a; // 输出 cout << a; return 0; }



