排序
面试题:C++ 中类定义中 delete 关键字和 default 关键字的作用?
在 C++ 中,delete 和 default 是两个用于控制类成员函数行为的关键字。它们通常用于显式地管理类的特殊成员函数(如构造函数、析构函数、拷贝构造函数、赋值运算符等)的生成和使用。 1. delet...
面试题: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 底层实...
面试题:C++ 中 list 的使用场景?
在 C++ 中,std::list 是标准模板库(STL)提供的一种双向链表容器。它的特点是支持高效的插入和删除操作,但在随机访问方面性能较差。以下是 std::list 的主要特点和使用场景:...
面试题:什么是 C++ 中的 RAII?它的使用场景?
RAII(Resource Acquisition Is Initialization,资源获取即初始化)是 C++ 中的一种重要编程范式,核心思想是将资源的生命周期与对象的生命周期绑定。通过对象的构造函数获取资源,通过析构函...
面试题:C++ 中 lock_guard 和 unique_lock 的区别?
在 C++ 中,std::lock_guard 和 std::unique_lock 都是用于管理互斥锁(std::mutex)的 RAII 包装器,它们的主要目的是确保锁在作用域结束时自动释放,从而避免死锁或资源泄漏。...
面试题:C++ 中 thread 的 join 和 detach 的区别?
在 C++ 中,std::thread 提供了两种管理线程生命周期的方式:join() 和 detach()。它们的核心区别在于线程的执行与主线程的关系以及资源的释放方式。 1. join() 功能: 阻...