排序
面试题:C++ 中四种类型转换的使用场景?
在 C++ 中,类型转换(Type Casting)用于将一种数据类型转换为另一种数据类型。C++ 提供了四种类型转换运算符:static_cast、dynamic_cast、const_cast 和 reinterpret_cast。每种类型转换都有...
面试题:C++ 中 volatile 关键字的作用?
在 C++ 中,volatile 关键字用于告诉编译器,被修饰的变量可能会被程序以外的因素(如硬件、多线程、信号处理等)修改,因此编译器不应对该变量进行优化(如缓存到寄存器或重排序访问顺序)。 1...
面试题:什么是 C++ 的运算符重载?
C++ 中的运算符重载(Operator Overloading)是一种允许用户自定义类类型对象的运算符行为的特性。通过运算符重载,可以使自定义类型的对象像内置类型一样使用运算符(如 +、-、*、/ 等)。 1. ...
面试题:C++ 中 struct 和 union 的区别?如何使用 union 做优化?
在 C++ 中,struct 和 union 都是用于定义复合数据类型的工具,但它们的用途和行为有显著区别。以下是它们的区别以及如何使用 union 进行优化。 1. struct 和 union 的区别 特性structunion内存...
面试题:C++ 中 new 和 malloc 的区别?delete 和 free 的区别?
在 C++ 中,new/delete 和 malloc/free 都用于动态内存管理,但它们有显著的区别: 1. new 和 malloc 的区别 语言: new 是 C++ 的运算符。 malloc 是 C ...
面试题:C++ 中 this 指针的作用?
在 C++ 中,this 指针是一个隐含的指针,指向当前对象的实例。它是成员函数中的一个关键字,用于访问当前对象的成员变量和成员函数。理解 this 指针的作用是掌握 C++ 面向对象编程的基础。 1. t...
面试题:C++ 中可以使用 delete this 吗?
是的,在 C++ 中可以使用 delete this,但需要非常小心,因为它是一种高风险的操作。delete this 的核心思想是对象在成员函数中自我销毁。虽然这种技术在某些特定场景下有用,但必须遵循严格的...
面试题:C++ 中 vector 的原理?resize 和 reserve 的区别是什么?size 和 capacity 的区别?
std::vector 是 C++ 标准模板库(STL)中最常用的动态数组容器。它的核心特点是支持动态扩容和高效的随机访问。理解 std::vector 的原理以及 resize、reserve、size ...
面试题:C++ 中 deque 的原理?它内部是如何实现的?
std::deque(双端队列,Double-Ended Queue)是 C++ 标准模板库(STL)中的一种序列容器,支持在两端高效地插入和删除元素。它的实现原理和内部结构是其高效性能的关键。 1. std::deque&nb...
面试题:C++ 中 map 和 unordered_map 的区别?分别在什么场景下使用?
在 C++ 中,std::map 和 std::unordered_map 是两种常用的关联容器,用于存储键值对。它们的核心区别在于底层实现和性能特性,因此适用于不同的场景。 1. std::map 底层实...