C++ 编程基础与核心特性笔记
1. 概述
C++ 包含两大核心编程思想:
- 面向对象 (OOP)
- 泛型编程 (Generic Programming)
2. C++ 初识
- 兼容性:C++ 是 C 语言的超集,C 语言程序可在 C++ 环境下执行。
- 标准库:引入头文件
#include <iostream>。 - 命名空间:使用
using namespace std;。 - 三大特性:封装、继承、多态。
2.1 作用域与命名空间
- 双冒号运算符 (::):代表作用域。不添加前缀表示全局作用域。
- namespace:
- 解决名称冲突。
- 存放变量、函数、结构体等。
- 必须声明在全局作用域。
- 支持嵌套和别名(如
namespace mmath = my_project::utils::math;)。 - 命名空间是开放的,可随时添加成员。
2.2 Using 声明与指令
using king::k;:导出变量。using namespace std;:导出整个空间。- 就近原则优先;多个 using 指令需加作用域区分。
2.3 C++ 对 C 的扩展
- 增强全局/函数/类型转换检测。
- struct 结构体增强(可简化为 class)。
- bool 类型:sizeof=1,真为 1,假为 0。
- 三目运算符:C++ 返回变量,C 返回值。
- const 增强:
- C++ 下局部 const 间接修改也会失败。
- 全局 const 默认内部链接属性(可加 extern)。
- 建议用 const 代替 define。
3. 引用与指针
- 引用:起别名,必须初始化,不可重新绑定。
- 数组引用:
int (&pArr)[10] = arr;
- 数组引用:
- 参数传递:值传递、地址传递、引用传递。
- 注意事项:
- 引用必须指向合法内存。
- 不要返回局部变量的引用。
- 返回值是引用时,可作为左值。
- 常量引用:修饰形参防止误操作,如
const int &ref = 10;。
4. 类与对象
4.1 类定义
class Circle {
int m_R;
public:
{ * * m_R; }
{ m_R = r; }
};

