排序
面试题: C++ 中 explicit 的作用?
在 C++ 中,explicit 是一个用于修饰构造函数或转换运算符的关键字,它的作用是禁止隐式类型转换,防止编译器自动执行不期望的转换,从而提高代码的安全性和可读性。 1. 用于构造函数 当 explic...
面试题:什么是 C++ 的列表初始化?
在 C++ 中,列表初始化(List Initialization)是一种用于初始化变量、对象或容器的语法,使用花括号 {} 来提供初始值。它是 C++11 引入的特性,旨在提供更统一、更安全的初始化方式...
面试题:C++ 中 sizeof 和 strlen 的区别?
在 C++ 中,sizeof 和 strlen 是两个常用的操作符/函数,但它们的作用和用法完全不同。以下是它们的详细区别: 1. sizeof 作用:sizeof 是一个编译时操作符,用于计算数据...
面试题:C++ 中构造函数可以是虚函数吗?
在 C++ 中,构造函数不能是虚函数。这是由 C++ 的语言设计和对象构造机制决定的。以下是详细原因和解释: 1. 为什么构造函数不能是虚函数? (1)对象构造的顺序 在 C++ 中,对象的构造是从基类...
面试题:C++ 中 thread 的 join 和 detach 的区别?
在 C++ 中,std::thread 提供了两种管理线程生命周期的方式:join() 和 detach()。它们的核心区别在于线程的执行与主线程的关系以及资源的释放方式。 1. join() 功能: 阻...
面试题:C++ 中 struct 和 class 的区别?
在 C++ 中,struct 和 class 都用于定义自定义数据类型,但它们在默认访问权限和继承行为上有一些区别。以下是它们的详细对比: 1. 默认访问权限 struct: 默认的成员访问...
面试题:请介绍下 C++ 模板中的 SFINAE?它的原则是什么?
SFINAE(Substitution Failure Is Not An Error) 是C++模板编程中的一种重要机制,用于在模板实例化过程中根据类型的有效性选择不同的实现。SFINAE 的核心思想是:在模板参数推导过程中,如果...
面试题:C++ 中 using 和 typedef 的区别?
在 C++ 中,using 和 typedef 都用于定义类型别名,但 using 的功能更强大且更灵活。以下是它们的区别和具体用法: 1. 基本功能 typedef: 用于定义类型别名,语...
面试题:什么是 C++ 中的 RAII?它的使用场景?
RAII(Resource Acquisition Is Initialization,资源获取即初始化)是 C++ 中的一种重要编程范式,核心思想是将资源的生命周期与对象的生命周期绑定。通过对象的构造函数获取资源,通过析构函...
面试题:请介绍 C++ 中使用模板的优缺点?
在C++中,模板(Template) 是一种强大的工具,用于实现泛型编程。它允许编写与类型无关的代码,从而提高代码的复用性和灵活性。然而,模板也有一些缺点。以下是使用模板的优缺点: 1. 优点 (1...