本人只是一个C++初学者,将学到的知识写在博客上,对C++的知识和语法循序渐进,如果有错误的地方请大佬指出。
1.命名空间namespace:
使用命名空间的目的:对标识符的名称进行本地化,以避免命名冲突或名字污染。
1.1命名空间定义:
//1.普通的命名空间
namespace N1{ //N1为命名空间的名称
//命名空间中的内容,可以定义变量,也可以定义函数
int a;
int ADD(int left,int right){
return left + right;
}
}
//2.命名空间可以嵌套
namespace N2{
int a;
char b;
namespace N3{
int c;
int d;
}
}
//3.同一个工程中允许存在多个相同名称的命名空间,编译器最后会合成同一个命名空间中
1.2命名空间的使用:
namespace N{
int a = 10;
int b = 20;
}
//1.加命名空间名称及作用域限定符
int main(){
printf("%d\n",N::a);
return 0;
}
//2.使用using将命名空间成员引入
using N::b; //只引入空间N中的成员b
int main(){
printf("%d\n",N::a);
printf("%d\n",b); //b已经用using引入,可以直接使用
return 0;
}
//3.使用using namespace命名空间名称接入
using namespace N; //引入命名空间N中的所有成员
int main(){
printf("%d\n",a);
printf("%d\n",b);
return 0;
}
大家经常看到 using namespace std;
std是一个命名空间,C++标准函数或者对象都是在std中定义的,例如cin和cout,当我们要使用标准库的函数或对象时都需要用std来限定。
2.C++输入和输出:
#include<iostream>
using namespace std;
int main(){
int a;
cin >> a; //cin用于输入
cout << a <<endl; //cout用于输出,endl表示换行
return 0;
}
3.缺省参数:
缺省参数是声明或定义函数时为函数的参数指定一个默认值,在调用该函数时,如果没有指定实参则采用该默认值,否则使用指定的实参。
void test(int a = 0){
cout &