C++ 凭借高性能与灵活性,在大型系统、游戏引擎及嵌入式开发中不可或缺。掌握其核心特性,是从'会写'迈向'写好'的关键。以下梳理了命名空间、输入输出、缺省参数、函数重载、引用、内联函数及空指针规范等基础概念,帮助快速搭建知识框架。
命名空间:解决命名冲突的核心工具
在 C/C++ 中,若变量、函数、类都存在于全局作用域,极易引发命名冲突(例如 C 语言中定义 int rand = 10 会与标准库中的 rand() 函数冲突)。C++ 引入 namespace(命名空间),通过对标识符进行'本地化',有效避免命名污染。
使用规则如下:
定义方式:使用 namespace 关键字 + 命名空间名 + {},内部可定义变量、函数、类型;支持嵌套定义,且多文件中同名的命名空间会自动合并。
使用方式:共有三种方式,分别是'指定命名空间访问'(如 bit::rand,项目开发中推荐使用)、'using 展开单个成员'(如 using bit::Add,适合频繁访问且无冲突的成员)、'using 展开全部成员'(如 using namespace bit,仅适合小练习,项目中禁用,风险高)。
#include <stdio.h>
#include <stdlib.h>
// 定义命名空间 bit,包含变量 rand 和函数 Add
namespace bit {
int rand = 10;
int Add(int left, int right) {
return left + right;
}
}
int main() {
// 访问全局作用域的 rand() 函数(输出函数地址)
printf("%p\n", rand);
// 访问 bit 命名空间的 rand 变量(输出 10)
printf("%d\n", bit::rand);
// 访问 bit 命名空间的 Add 函数(输出 3)
printf("%d\n", bit::Add(1, 2));
return 0;
}

