排序
面试题:C++ 中如何实现一个单例模式?
在 C++ 中,单例模式(Singleton Pattern)是一种设计模式,用于确保一个类只有一个实例,并提供一个全局访问点。以下是几种实现单例模式的常见方法: 1. 懒汉式(Lazy Initialization) 懒汉式...
面试题:什么是 C++ 中的 auto 和 decltype?
auto 和 decltype 是 C++11 引入的两个关键字,用于简化代码和提高代码的可读性。它们的主要作用是自动推导变量的类型,但它们的用途和行为有所不同。
面试题:介绍下 C++ 程序从编写到可执行的整个过程?
C++ 程序从编写到可执行的整个过程通常分为四个主要阶段:预处理、编译、汇编和链接。每个阶段都有特定的任务,最终生成可执行文件。以下是详细的介绍: 1. 编写源代码 程序员使用文本编辑器或...
面试题:C++ 中命名空间有什么作用?如何使用?
在C++中,命名空间(Namespace) 是一种用于组织代码的机制,主要用于避免名称冲突(Name Collision)。命名空间将全局作用域划分为不同的区域,每个区域内的名称是唯一的,从而可以在不同...
面试题:C++ 中未初始化和已初始化的全局变量放在哪里?全局变量定义在头文件中有什么问题?
C++ 中未初始化和已初始化的全局变量放在哪里? 在 C++ 中,全局变量(包括未初始化和已初始化的)的存储位置取决于它们的初始化状态: 已初始化的全局变量: 存储在数据段(Data Segment)中的...
面试题:C++ 中 deque 的原理?它内部是如何实现的?
std::deque(双端队列,Double-Ended Queue)是 C++ 标准模板库(STL)中的一种序列容器,支持在两端高效地插入和删除元素。它的实现原理和内部结构是其高效性能的关键。 1. std::deque&nb...
面试题:C++ 中什么是深拷贝?什么是浅拷贝?写一个标准的拷贝构造函数?
在C++中,拷贝是指用一个对象初始化另一个对象。拷贝分为深拷贝(Deep Copy)和浅拷贝(Shallow Copy),它们的区别在于如何处理指针或动态分配的资源。 1. 浅拷贝(Shallow Copy) 定义:...
面试题:C++ 中 vector 的原理?resize 和 reserve 的区别是什么?size 和 capacity 的区别?
std::vector 是 C++ 标准模板库(STL)中最常用的动态数组容器。它的核心特点是支持动态扩容和高效的随机访问。理解 std::vector 的原理以及 resize、reserve、size ...
面试题:C++ 的条件变量为什么要配合锁使用?
在 C++ 中,条件变量(std::condition_variable)通常需要与锁(如 std::mutex)配合使用,主要原因是为了解决 竞争条件 和 线程同步 的问题。以下是详细解释: 1.&nb...
面试题:C++ 的 async 使用时有哪些注意事项?
在 C++ 中,std::async 是一个用于异步执行任务的工具,它封装了线程创建和任务调度的细节,使得异步编程更加简单。然而,使用 std::async 时需要注意一些关键问题,以避免潜在...