
命名空间
命名空间编译默认查找顺序如下:
- 当前局部域:优先级最高。
- 全局域:其次。
- 其他命名空间:不会自动查找。
命名空间展开方式
- 指定访问:使用作用域解析运算符
::。 - 全展开:使用
using namespace 命名空间名;。 - 指定展开:使用
using 命名空间名::变量名;,常用且推荐。
命名空间可以定义在局部域、全局域或嵌套在其他命名空间中。不同域可以定义同名的变量、函数或类型。两个私有命名空间同时展开若名称相同会报错;私有命名空间与全局域同时展开则按查找顺序处理。不同文件中定义的同一命名空间会自动合并。
输入与输出
C++ 使用流操作符进行输入输出,支持自动类型识别。
#include <iostream>
int main() {
int i = 0;
double j = 1.11;
std::cout << i << " " << j << '\n' << std::endl;
return 0;
}
缺省参数
缺省参数分为全缺省和半缺省,必须从右向左定义。调用时必须按顺序传参,不能跳跃。
void F2(int a, int b = 2, int c = 3);
F2(1, 2, 3); // 正常调用
F2(1, 2); // 使用缺省值
();
();


