C++ 核心面试题总结
本文梳理了 C++ 面试中常见的高频考点,涵盖语法基础、STL 标准库、内存管理、面向对象特性以及辅助工具。掌握这些内容,有助于构建扎实的 C++ 知识体系。
一、C++ 语法基础
变量的使用和生命周期
变量根据作用域和存储期可分为全局变量、局部变量、静态变量等。理解它们的声明方式、初始化时机及内存位置至关重要。
| 变量类型 | 声明方式 | 内存存储位置 | 作用域 | 生命周期 |
|---|---|---|---|---|
| 全局变量 | 函数外部声明 | 静态存储区 | 整个文件 | 程序运行期间 |
| 局部变量 | 函数或代码块内 | 栈区 | 函数内部 | 函数调用期间 |
| 静态全局 | 加 static 关键字 | 静态存储区 | 整个文件 | 程序运行期间 |
| 静态局部 | 加 static 关键字 | 静态存储区 | 函数内部 | 程序运行期间(值持久化) |
示例:
// 全局变量
int globalVar = 10;
void func() {
// 局部变量
int localVar = 20;
// 静态局部变量
static int staticLocal = 30;
}
命名空间的作用
命名空间主要用于避免命名冲突,将相关函数、类封装在一起,提高代码的组织性和可读性。标准命名空间 std 中的对象通常需加前缀 std::,或使用 using namespace std;。
include "" 和 <> 的区别
#include <文件名>:包含标准库头文件,编译器按标准路径搜索。#include "文件名":包含用户自定义或项目内部头文件,优先在当前目录查找。


