C++ 基础面试题共66篇

面试题:C++ 中可以使用 delete this 吗?

是的,在 C++ 中可以使用 delete this,但需要非常小心,因为它是一种高风险的操作。delete this 的核心思想是对象在成员函数中自我销毁。虽然这种技术在某些特定场景下有用,但必须遵循严格的...
程序百科的头像-程序百科程序百科28天前
03410

面试题:C++ 中 move 有什么作用?它的原理是什么?

在 C++ 中,std::move 是一个用于实现移动语义的关键工具。它的作用是将对象的资源所有权从一个对象转移到另一个对象,从而避免不必要的拷贝操作,提高性能。以下是 std::move ...
程序百科的头像-程序百科程序百科28天前
04013

面试题:C++ 中 include 和 include “a.h” 有什么区别?

在C++中,#include <a.h> 和 #include 'a.h' 是两种不同的包含头文件的方式,它们的区别主要在于编译器查找头文件的路径顺序。 1. #include <a.h> 用途:用于...
程序百科的头像-程序百科程序百科29天前
0499

面试题:C++ 什么场景下需要用到移动构造函数和移动赋值运算符?

在 C++ 中,移动构造函数(Move Constructor)和移动赋值运算符(Move Assignment Operator)是 C++11 引入的重要特性,用于优化资源管理,特别是在涉及动态内存分配或昂贵资源(如文件句柄、网...
程序百科的头像-程序百科程序百科28天前
03813

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

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

面试题:C++ 中 extern 有什么作用?extern “C” 有什么作用?

在 C++ 中,extern 是一个关键字,用于声明变量或函数的外部链接性。 它的主要作用是告诉编译器某个变量或函数是在其他地方定义的,而不是在当前文件中定义的。 extern 'C' 则是用于解决 C++ 与...
程序百科的头像-程序百科程序百科28天前
04515

面试题:C++ 中 this 指针的作用?

在 C++ 中,this 指针是一个隐含的指针,指向当前对象的实例。它是成员函数中的一个关键字,用于访问当前对象的成员变量和成员函数。理解 this 指针的作用是掌握 C++ 面向对象编程的基础。 1. t...
程序百科的头像-程序百科程序百科28天前
0505

面试题:什么是 C++ 的列表初始化?

在 C++ 中,列表初始化(List Initialization)是一种用于初始化变量、对象或容器的语法,使用花括号 {} 来提供初始值。它是 C++11 引入的特性,旨在提供更统一、更安全的初始化方式...
程序百科的头像-程序百科程序百科28天前
0507

面试题:什么是大端序?什么是小端序?

大端序(Big Endian) 和 小端序(Little Endian) 是两种不同的字节序(Byte Order),用于描述多字节数据(如整数、浮点数)在内存中的存储方式。它们的区别在于字节的排列顺...
程序百科的头像-程序百科程序百科28天前
0395

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

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