衣旱 发表于 4 天前

C++方向高频面试题(C++语法相关)

什么是左值引用和右值引用


[*]可取地址的是左值,不可取地址的是右值。
[*]左值引用是借用,右值引用是接管。
C++ move 的作用和原理?


[*]核心作用:将对象的资源所有权从一个对象“转移”到另一个对象,避免不必要的深拷贝,提高程序性能。
[*]原理:std::move 只是类型转换工具,不会实际移动数据,真正的移动逻辑由类的移动构造函数或移动赋值运算符决定。
static 关键字的作用?什么场景下用?

static 用于控制变量或函数的作用域和生命周期。
<ol>修饰局部变量(函数内部)

[*]在函数作用域内可见,但只会初始化一次,生命周期贯穿整个程序。
[*]使用场景:记录函数调用次数,实现懒加载。
#include using namespace std;void func() {    static int count = 0; // 只在第一次调用 func 时初始化    cout
页: [1]
查看完整版本: C++方向高频面试题(C++语法相关)