C++ 核心基础概念解析
C++ 兼容 C 语言,这意味着我们可以在 C++ 环境下编写 C 风格的代码。理解这些基础概念是掌握这门语言的关键。
一、命名空间
1. 标识符查找规则
编译器在查找标识符(变量、函数、类等)时,遵循从当前最内层作用域向外层查找的原则。一旦找到匹配项,就不会继续向外搜索。
2. 命名冲突的本质
同一作用域下不能存在同名的标识符。例如:
#include <stdio.h>
#include <stdlib.h>
int main() {
int rand = 10;
printf("%d\n", rand); // 局部变量 rand 屏蔽了 stdlib.h 中的 rand 函数,代码可执行
}
如果将 rand 定义为全局变量,则会与头文件中的函数名冲突,导致编译报错。
3. 命名空间解决方案
命名空间用于隔离标识符,解决命名冲突。
① 语法与访问
namespace mycode {
int rand = 10;
}
int main() {
printf("%d\n", mycode::rand); // 使用作用域解析运算符访问
}
② 命名空间嵌套
当父命名空间下仍有冲突时,可以使用嵌套命名空间:
#include <stdio.h>
namespace code {
namespace codeA {
int a = 10;
}
namespace codeB {
int a = 20;
}
}
int main {
(, code::codeA::a);
(, code::codeB::a);
}


