分类: C++面试八股文

1.109、进程之间的通信方式?

进程间通信(IPC,Interprocess Communication)是指不同进程之间传递数据或信号的技术。由于进程拥有独立的地址空间,直接访问彼此内存是不可能的,因此需要……

1.108、线程与进程的区别?

1. 定义与本质 • 进程(Process) 是操作系统分配资源的基本单位,是程序的一次执行实例。拥有独立的地址空间、代码段、数据段和系统资源(如文件句柄、信号……

1.107、谈一谈你对zero overhead(零开销原则)的理解

“你不用的特性不产生任何开销,你用的特性产生的开销不会超过你手写等效代码的开销。” 详细理解 1. 不使用即无成本 C++语言设计保证,如果程序中没有使用某……

1.106、C++11的thread_local有没有使用过?

我使用过C++11引入的thread_local关键字。它用于声明**线程局部存储(Thread-Local Storage,TLS)**变量,保证每个线程拥有该变量的独立实例,生命周期与线程……

1.105、说一说移动语义和完美转发?

移动语义和完美转发是C++11引入的两项关键特性,旨在提升程序性能和泛型编程的灵活性。以下是对两者的简明解析: 一、移动语义(Move Semantics) 概念 移动……

1.104、C++ 的闭包

闭包(Closure)在C++中指的是带有状态的函数对象,即一个函数加上它所捕获的外部变量状态,形成一个可调用且携带上下文信息的实体。它本质上是一个类对象,重……

1.103、类对象的大小受哪些因素影响?

类对象的大小受多种因素影响,主要包括成员变量、内存对齐、虚函数机制、继承方式等,具体如下: 1. 普通非静态成员变量的大小 • 类对象的大小至少是其所有……

1.102、指针数组和数组指针的区别

指针数组和数组指针是C++中两个容易混淆但本质不同的概念,关键区别在于它们的定义对象和用途: 1. 指针数组(Array of Pointers) • 定义:一个数组,数组……

1.101、C++文件编译与执行的四个阶段

C++文件的编译与执行通常经历四个阶段,每个阶段负责不同的工作,最终将源代码转换成可执行程序: 1. 预处理(Preprocessing) • 由预处理器(如cpp)处理……

1.100、什么情况下会调用拷贝构造函数

拷贝构造函数是C++中用于用一个同类型对象初始化另一个对象的特殊构造函数,调用时机主要有以下四种典型场景: 1. 用已有对象初始化新对象(直接初始化或拷……