排序
面试题:C++ 中 shared_from_this 的作用是什么?它有什么优点?
shared_from_this 是 C++ 标准库中的一个工具,用于在类的成员函数中安全地获取一个指向当前对象的 std::shared_ptr。它通常与 std::enable_shared_from_this 一起使用。 ...
面试题:C++ 中 enum 和 enum class 的区别?
在 C++ 中,enum 和 enum class 都用于定义枚举类型,但它们有显著的区别,主要体现在作用域、类型安全和隐式转换方面。 1. 作用域(Scope) enum(传统枚举): 枚举值是暴露在枚举类型所在的...
面试题:C++ 中为什么要使用 std::array?它有什么优点?
在C++中,std::array 是C++11引入的一个容器类,用于表示固定大小的数组。与传统的C风格数组相比,std::array 提供了更多的功能和安全性。以下是使用 std::array 的主要原...
面试题:请介绍 C++ 多态的实现原理?
C++ 中的多态(Polymorphism)是面向对象编程的核心特性之一,它允许通过基类的指针或引用来调用派生类的重写函数。多态的实现依赖于虚函数(virtual function)和动态绑定(dynamic binding)...
面试题:C++ 什么场景下需要用到移动构造函数和移动赋值运算符?
在 C++ 中,移动构造函数(Move Constructor)和移动赋值运算符(Move Assignment Operator)是 C++11 引入的重要特性,用于优化资源管理,特别是在涉及动态内存分配或昂贵资源(如文件句柄、网...
面试题:C++ 的 function、bind、lambda 都在什么场景下会用到?
在C++中,function、bind和lambda是用于处理函数对象和回调的强大工具,各自有不同的应用场景。 1. std::function std::function 是一个通用的函数包装器,可以存储、复制和调用任何可调用对象...
面试题:C++ 中 move 有什么作用?它的原理是什么?
在 C++ 中,std::move 是一个用于实现移动语义的关键工具。它的作用是将对象的资源所有权从一个对象转移到另一个对象,从而避免不必要的拷贝操作,提高性能。以下是 std::move ...
面试题:C++ 的 async 使用时有哪些注意事项?
在 C++ 中,std::async 是一个用于异步执行任务的工具,它封装了线程创建和任务调度的细节,使得异步编程更加简单。然而,使用 std::async 时需要注意一些关键问题,以避免潜在...
面试题:什么是 C++ 中的 auto 和 decltype?
auto 和 decltype 是 C++11 引入的两个关键字,用于简化代码和提高代码的可读性。它们的主要作用是自动推导变量的类型,但它们的用途和行为有所不同。
面试题:C++ 中 lock_guard 和 unique_lock 的区别?
在 C++ 中,std::lock_guard 和 std::unique_lock 都是用于管理互斥锁(std::mutex)的 RAII 包装器,它们的主要目的是确保锁在作用域结束时自动释放,从而避免死锁或资源泄漏。...