本文共 2144 字,大约阅读时间需要 7 分钟。
在C++中,变量、函数和类的名称都存在于全局作用域中,这可能导致名称冲突。为了避免这种情况,命名空间提供了本地化的标识符命名空间。通过使用namespace关键字,可以将相关的代码组织在一起,减少全局名称冲突。
定义命名空间使用namespace关键字,后面跟命名空间名称,后面跟一对大括号{}即可。命名空间内可以包含变量、函数、子命名空间等成员。
示例代码:
namespace cpp { int a = 3; int b = 5; // 全局变量,放到命名空间域中} 在需要时,使用命名空间名称和作用域限定符来访问命名空间中的成员。
示例代码:
cout << cpp::a << endl;cout << cpp::add(1, 2, 3) << endl;
使用using声明语句将命名空间中的成员引入当前作用域,简化代码书写。
示例代码:
using cpp::a;using cpp::add;int main() { cout << a << endl; cout << add(1, 2, 3) << endl; return 0;} 为了方便,可以使用using namespace声明语句直接引入命名空间中的所有成员。
示例代码:
using namespace cpp;int main() { cout << a << endl; cout << add(1, 2, 3) << endl; return 0;} 在C++中,标准输入和输出的处理需要包含<iostream>头文件,并使用std命名空间。
示例代码:
#includeusing namespace std;int main() { int a = 1; double b = 2.333; char c = 56; cout << a << endl; cout << b << endl; cout << c << endl; // 输出ASCII码为56的字符 return 0;}
cout和cin提供了方便的接口,支持直接输出和输入操作。缺省参数是指在函数定义或声明时为参数指定默认值。当调用函数时,如果某个参数没有提供实参,则使用默认值。
示例代码:
void Func(int a = 11, int b = 22, int c = 33) { cout << "a=" << a << " "; cout << "b=" << b << " "; cout << "c=" << c << " "; cout << endl;}int main() { Func(1, 2, 3); Func(1, 2); Func(1); return 0;} 所有参数都有缺省值。
示例代码:
void Func(int a = 11, int b = 22, int c = 33) { cout << "a=" << a << " "; cout << "b=" << b << " "; cout << "c=" << c << " "; cout << endl;} 部分参数有缺省值,其他参数没有。
示例代码:
void Func(int a, int b = 22, int c = 33) { cout << "a=" << a << " "; cout << "b=" << b << " "; cout << "c=" << c << " "; cout << endl;} C++允许在同一作用域中定义多个具有相同名称但不同参数类型或个数的函数。这种机制常用于处理不同数据类型的相同操作。
示例代码:
int add(int a, int b, int c) { return a + b + c;}double add(double a, double b, double c) { return a + b + c;}int main() { cout << add(1, 2, 3) << endl; cout << add(1.1, 2.2, 3.3) << endl; return 0;} 通过函数重载,可以实现对不同数据类型的统一处理,提升代码的灵活性和可维护性。
转载地址:http://umzaz.baihongyu.com/