C++ 基础面试题共66篇

面试题:C++ 中 char、const char、char* const、const char* const 的区别?

在 C++ 中,char*、const char*、char* const 和 const char* const 是四种不同的指针类型,它们的区别在于指针本身和指向的数据是否可以被修改。以下是它们的详细解释和区别: ...
程序百科的头像-程序百科程序百科36天前
0488

面试题:C++ 中为什么要使用 std::array?它有什么优点?

在C++中,std::array 是C++11引入的一个容器类,用于表示固定大小的数组。与传统的C风格数组相比,std::array 提供了更多的功能和安全性。以下是使用 std::array 的主要原...
程序百科的头像-程序百科程序百科36天前
04814

面试题:C++ 中 static 的作用?什么场景下用到 static?

在 C++ 中,static 是一个关键字,具有多种用途,具体作用取决于它的使用场景。以下是 static 的主要作用和使用场景: 1. 静态局部变量 作用:在函数内部定义的静态局部变...
程序百科的头像-程序百科程序百科36天前
04815

面试题:C++ 中 struct 和 class 的区别?

在 C++ 中,struct 和 class 都用于定义自定义数据类型,但它们在默认访问权限和继承行为上有一些区别。以下是它们的详细对比: 1. 默认访问权限 struct: 默认的成员访问...
程序百科的头像-程序百科程序百科36天前
0477

面试题:什么是内存对齐?为什么要内存对齐?

什么是内存对齐? 内存对齐是指数据在内存中的存储位置必须满足特定条件,通常是某个值的倍数(如 4 字节、8 字节等)。例如,一个 4 字节的整数通常需要存储在地址为 4 的倍数的位置。 为什么...
程序百科的头像-程序百科程序百科36天前
0479

面试题:C++ 中 vector 的原理?resize 和 reserve 的区别是什么?size 和 capacity 的区别?

std::vector 是 C++ 标准模板库(STL)中最常用的动态数组容器。它的核心特点是支持动态扩容和高效的随机访问。理解 std::vector 的原理以及 resize、reserve、size ...
程序百科的头像-程序百科程序百科36天前
04712

面试题:C++ 中 inline 的作用?它有什么优缺点?

在 C++ 中,inline 是一个关键字,用于建议编译器将函数内联展开,以减少函数调用的开销。它的主要作用是优化性能,但也有一些限制和注意事项。 1. inline 的作用 内联展开:inl...
程序百科的头像-程序百科程序百科36天前
0465

面试题:C 和 C++ 的区别?

C 和 C++ 是两种广泛使用的编程语言,C++ 是 C 的超集,意味着 C++ 包含了 C 的大部分特性,并在此基础上增加了许多新特性。以下是 C 和 C++ 的主要区别: 1. 编程范式 C: 支持过程式编程...
程序百科的头像-程序百科程序百科36天前
0458

面试题:C++ 中堆内存和栈内存的区别?

在C++中,堆内存(Heap Memory) 和 栈内存(Stack Memory) 是两种不同的内存分配方式,它们在管理方式、生命周期、性能和用途上有显著的区别。 1. 栈内存(Stack Memory...
程序百科的头像-程序百科程序百科36天前
04514

面试题:C++ 中命名空间有什么作用?如何使用?

在C++中,命名空间(Namespace) 是一种用于组织代码的机制,主要用于避免名称冲突(Name Collision)。命名空间将全局作用域划分为不同的区域,每个区域内的名称是唯一的,从而可以在不同...
程序百科的头像-程序百科程序百科36天前
04512