排序
面试题:请介绍 C++ 中 future、promise、packaged_task、async 的区别?
在 C++ 中,std::future、std::promise、std::packaged_task 和 std::async 是用于异步编程的工具,它们共同构成了 C++11 引入的并发编程模型。以下是它们的区别和用途: 1.&nbs...
面试题:什么是 C++ 中的 RAII?它的使用场景?
RAII(Resource Acquisition Is Initialization,资源获取即初始化)是 C++ 中的一种重要编程范式,核心思想是将资源的生命周期与对象的生命周期绑定。通过对象的构造函数获取资源,通过析构函...
面试题:C++ 有哪些进程间通信的方式?
在 C++ 中,进程间通信(Inter-Process Communication, IPC)是实现多个进程之间数据交换和同步的重要机制。C++ 本身并没有直接提供 IPC 的实现,但可以借助操作系统提供的机制或第三方库来实现...
面试题:请介绍下 C++ 模板中的 SFINAE?它的原则是什么?
SFINAE(Substitution Failure Is Not An Error) 是C++模板编程中的一种重要机制,用于在模板实例化过程中根据类型的有效性选择不同的实现。SFINAE 的核心思想是:在模板参数推导过程中,如果...
面试题:请介绍 C++ 中使用模板的优缺点?
在C++中,模板(Template) 是一种强大的工具,用于实现泛型编程。它允许编写与类型无关的代码,从而提高代码的复用性和灵活性。然而,模板也有一些缺点。以下是使用模板的优缺点: 1. 优点 (1...
面试题:请介绍一下 C++ 的返回值优化?
C++ 中的**返回值优化(Return Value Optimization, RVO)和命名返回值优化(Named Return Value Optimization, NRVO)**是编译器优化技术,用于减少临时对象的创建和拷贝,从而提高程序的性能...
面试题:C++ 中 this 指针的作用?
在 C++ 中,this 指针是一个隐含的指针,指向当前对象的实例。它是成员函数中的一个关键字,用于访问当前对象的成员变量和成员函数。理解 this 指针的作用是掌握 C++ 面向对象编程的基础。 1. t...
面试题:C++ 中锁的底层原理是什么?
在 C++ 中,锁(如 std::mutex)的底层原理主要依赖于操作系统的同步机制和硬件支持的原子操作。锁的实现通常涉及以下几个关键点: 1. 锁的基本概念 锁是一种同步机制,用于保护共享...
面试题:什么是大端序?什么是小端序?
大端序(Big Endian) 和 小端序(Little Endian) 是两种不同的字节序(Byte Order),用于描述多字节数据(如整数、浮点数)在内存中的存储方式。它们的区别在于字节的排列顺...
面试题:什么是 C++ 的移动语义和完美转发?
在 C++ 中,移动语义和完美转发是两个重要的特性,分别用于优化资源管理和实现泛型编程。以下是它们的详细解释: 1. 移动语义(Move Semantics) 什么是移动语义? 移动语义是 C++11 引入...