C/C++共113篇

面试题: C++ 中 explicit 的作用?

在 C++ 中,explicit 是一个用于修饰构造函数或转换运算符的关键字,它的作用是禁止隐式类型转换,防止编译器自动执行不期望的转换,从而提高代码的安全性和可读性。 1. 用于构造函数 当 explic...
程序百科的头像-程序百科程序百科37天前
0317

面试题:C++ 中析构函数一定要是虚函数吗?

在 C++ 中,析构函数是否需要声明为虚函数取决于类的设计用途,特别是是否会被继承以及是否会被基类指针指向派生类对象。以下是详细分析: 1. 什么时候析构函数必须是虚函数? 当满足以下条件时...
程序百科的头像-程序百科程序百科37天前
0318

面试题:C++ 中为什么 new[] 和 delete[] 一定要配对使用?

在 C++ 中,new[] 和 delete[] 必须配对使用,因为它们的行为与 new 和 delete 有本质区别。混用 new[] 和 delete 或 new ...
程序百科的头像-程序百科程序百科35天前
03115

面试题:什么是 C++ 中的 RAII?它的使用场景?

RAII(Resource Acquisition Is Initialization,资源获取即初始化)是 C++ 中的一种重要编程范式,核心思想是将资源的生命周期与对象的生命周期绑定。通过对象的构造函数获取资源,通过析构函...
程序百科的头像-程序百科程序百科37天前
0306

面试题:C++ 中构造函数可以是虚函数吗?

在 C++ 中,构造函数不能是虚函数。这是由 C++ 的语言设计和对象构造机制决定的。以下是详细原因和解释: 1. 为什么构造函数不能是虚函数? (1)对象构造的顺序 在 C++ 中,对象的构造是从基类...
程序百科的头像-程序百科程序百科37天前
0307

面试题:C++ 中数组和指针的区别?

在 C++ 中,数组和指针是两个密切相关的概念,但它们有着本质的区别。以下是它们的详细对比: 1. 定义 数组: 数组是一个连续的内存块,用于存储相同类型的多个元素。 数组的大小在编译时...
程序百科的头像-程序百科程序百科37天前
03014

面试题:C++ 的 async 使用时有哪些注意事项?

在 C++ 中,std::async 是一个用于异步执行任务的工具,它封装了线程创建和任务调度的细节,使得异步编程更加简单。然而,使用 std::async 时需要注意一些关键问题,以避免潜在...
程序百科的头像-程序百科程序百科36天前
03012

面试题:C++ 的 function、bind、lambda 都在什么场景下会用到?

在C++中,function、bind和lambda是用于处理函数对象和回调的强大工具,各自有不同的应用场景。 1. std::function std::function 是一个通用的函数包装器,可以存储、复制和调用任何可调用对象...
程序百科的头像-程序百科程序百科37天前
02913

面试题:用过哪些 C++ 网络框架?都有什么优缺点?

在 C++ 开发中,网络框架是构建高性能网络应用的重要工具。以下是几种常见的 C++ 网络框架及其优缺点: 1. Boost.Asio 优点: 跨平台:支持 Windows、Linux、macOS 等平台。 高性能:基于事件驱...
程序百科的头像-程序百科程序百科36天前
02810

面试题:C++ 中 struct 和 union 的区别?如何使用 union 做优化?

在 C++ 中,struct 和 union 都是用于定义复合数据类型的工具,但它们的用途和行为有显著区别。以下是它们的区别以及如何使用 union 进行优化。 1. struct 和 union 的区别 特性structunion内存...
程序百科的头像-程序百科程序百科37天前
02814