C++ 核心基础概念梳理
C++ 兼容 C 语言,因此可以在 C++ 环境下编写 C 代码。 C++ 之父:本贾尼·斯特劳斯特卢普(Bjarne Stroustrup)
一、命名空间
在 C++ 中,我们常遇到标识符冲突的问题。比如 stdlib.h 中有 rand 函数,如果我们定义同名的变量,编译器可能会报错。
#include<stdio.h>
#include<stdlib.h>
int rand = 10;
int main() {
printf("%d\n", rand); // 全局变量 rand 与 stdlib.h 中的 rand 函数冲突,编译报错
}
但如果 rand 是局部变量,则不会冲突:
#include<stdio.h>
#include<stdlib.h>
int main() {
int rand = 10;
printf("%d\n", rand); // 局部变量优先,执行成功
}
1. 标识符查找规则
编译器查找标识符时,遵循从内向外的作用域查找原则。一旦在当前作用域找到匹配项,就不会继续向外层查找。
2. 命名空间的概念
为了解决同一作用域下的命名冲突,C++ 引入了命名空间(Namespace)。你可以把它理解为一个自定义的'域',用来存放标识符。
- 语法:
namespace 命名空间名 { // 自定义的标识符 } - 访问方式:使用
命名空间名::标识符。
示例:
#include
mycode {
rand = ;
}
{
(, mycode::rand);
}


