命名空间
目的是对标识符的名称进行本地化,避免命名冲突或名字污染namespace关键字的出现就是解决这种冲突的
using namespace std;
大致意思为:引入一个名为std(标准命名空间)的名字空间。C++标准程序库中的所有标识符都被定义于std的namespace中。我们在练习时可以直接使用如上这一行代码将在std 的命名空间里的全部展开,便于我们使用,在实际应用时可以使用std::指定访问
例如std::cout;//我们便可以使用关键字cout
using std::cout;
cout<< "hello world" ;
定义命名空间
使用namespace关键字,后面跟命名空间的名字,然后接一对{},即为命名空间的成员
namespace Mark1
{
//命名空间中既可以定义空间又可以定义函数
int a;
int Add(int aaa,int bbb);
{
return aaa+bbb;
}
}
命名空间可以嵌套
多个相同名称的命名空间编译器最终会合成在一个命名空间中
C++输入与输出
#include <iostream>
using namespace std;
int main()
{
cout << " hello world!" << endl;
return 0;
}
使用C++输入输出不需要增加数据格式控制
int main()
{
int a;
char b;
double c;
cin >> a >> b >> c;
cout << a << " " << b << " " << c << endl;
return 0;
}
缺省参数
声明或定义函数时给参数一个默认值,调用该参数时如果没有指定参数就用这个指定的默认值,如果给了就要用给指定的实参;
void isPrime(int x = 0)
{
int i = 2;
//int& n=x;
for (; i < x; i++)
{
if (x % i == 0)
{
cout <<x<<"不是质数"<< endl;
break;
}
}
if (x == i)
{
cout << x << " ";
}
}
int main()
{
isPrime(8751);//传参,使用指定实参
isPrime();//没传参
}
全缺省/半缺省:带缺省值的参数必须放在参数列表的最后面,即只能从右往左依次给缺省,这涉及到参数的调用约定
缺省不能在函数声明和定义中同时出现,二选一
函数重载
函数的一种特殊情况。C++允许在同一作用域中,上面几个功能类似的同名函数。同名函数的形参列表必须不同。常用来实现功能类似,而数据类型不同的问题。
extern “C”
在函数前面加上,意思是告诉编译器,该函数按照C语言的规则来编译
引用
给已知存在变量去取一个别名,和它引用的变量共用一块内存空间
//类型&引用变量名=引用实体
void TesxRef()
{
int a = 1;
int& b = a;
cout << a << b << endl;
}