排序
面试题:什么是 C++ 中的 auto 和 decltype?
auto 和 decltype 是 C++11 引入的两个关键字,用于简化代码和提高代码的可读性。它们的主要作用是自动推导变量的类型,但它们的用途和行为有所不同。
面试题:请介绍 C++ 多态的实现原理?
C++ 中的多态(Polymorphism)是面向对象编程的核心特性之一,它允许通过基类的指针或引用来调用派生类的重写函数。多态的实现依赖于虚函数(virtual function)和动态绑定(dynamic binding)...
面试题:请介绍 C++ 中 unique_ptr 的原理?
std::unique_ptr 是 C++11 引入的一种智能指针,用于管理动态分配的对象生命周期。 它的核心特点是独占所有权(exclusive ownership),即同一时间只能有一个 std::unique_ptr 指向某个对象...
面试题:请介绍 C++ 中 shared_ptr 的原理?shared_ptr 线程安全吗?
std::shared_ptr 是 C++ 标准库中的一种智能指针,用于管理动态分配的对象生命周期。它通过引用计数机制实现多个 std::shared_ptr 共享对象的所有权。理解 std::shared_ptr...
面试题:请介绍 C++ 中 weak_ptr 的原理?
std::weak_ptr 是 C++ 标准库中的一种智能指针,用于解决 std::shared_ptr 的循环引用问题。它本身不拥有对象的所有权,而是通过观察 std::shared_ptr 来访问资源。理...
面试题:C++ 中为什么要引入 make_shared?它有什么优点?
std::make_shared 是 C++11 引入的一个工具函数,用于创建并返回一个 std::shared_ptr,它封装了动态内存分配和 std::shared_ptr 的构造过程。 引入 std::make_shared 的主要目的是为了提...
面试题:C++ 中 shared_from_this 的作用是什么?它有什么优点?
shared_from_this 是 C++ 标准库中的一个工具,用于在类的成员函数中安全地获取一个指向当前对象的 std::shared_ptr。它通常与 std::enable_shared_from_this 一起使用。 ...
面试题:请介绍 C++ 中 future、promise、packaged_task、async 的区别?
在 C++ 中,std::future、std::promise、std::packaged_task 和 std::async 是用于异步编程的工具,它们共同构成了 C++11 引入的并发编程模型。以下是它们的区别和用途: 1.&nbs...
面试题:C++ 的 async 使用时有哪些注意事项?
在 C++ 中,std::async 是一个用于异步执行任务的工具,它封装了线程创建和任务调度的细节,使得异步编程更加简单。然而,使用 std::async 时需要注意一些关键问题,以避免潜在...
面试题:如何理解 C++ 中的 atomic?
在 C++ 中,std::atomic 是一个模板类,用于实现原子操作。原子操作是不可分割的操作,即在多线程环境中,一个线程执行原子操作时,不会被其他线程中断。std::atomic 提供了一种高效...