
this
Stack是后进先出(LIFO),Queue是先进先出(FIFO);二者API强制约束访问顺序,不支持随机索引、线程不安全,应优先使用泛型版本并预估容量。
MethodInfo.Invoke是高并发下的主要性能瓶颈,因其触发完整反射解析流程、引发高频堆分配与GC压力;推荐用Delegate.CreateDelegate或Expression.Compil...
lock无竞争时开销极低(纳秒级),真正损耗在阻塞引发的上下文切换(几十微秒);推荐用Interlocked替代简单计数,读多写少场景优先用ReaderWriterLockSlim。
浅拷贝仅复制指针值,导致多对象共享同一内存,引发use-after-free或doublefree;深拷贝需重载拷贝构造、赋值运算符和析构函数,手动分配并复制内存;现代C++推荐用vector、str...
const变量必须初始化,否则编译错误;const成员函数不可修改非mutable成员;mutable是唯一例外;const指针与指针const需区分;const_cast仅用于原始对象非常量的场景。
根本原因是C++编译器进行namemangling而C编译器不修饰函数名,导致链接时符号不匹配;需在C++中用extern"C"声明C函数,且声明与定义必须完全一致。
构造函数初始化列表能绕过默认构造+赋值的双重开销,直接调用目标类型构造函数;const成员、引用、无默认构造的基类必须用初始化列表;初始化顺序严格按声明顺序而非列表顺序。
按值捕获[x]复制变量,修改仅作用于副本,不影响原变量;内置类型直接赋值,类对象调用拷贝构造函数;如需修改副本须加mutable关键字。
const是C++中表达不可修改语义与接口契约的关键字,用于修饰变量(需初始化)、指针(三种组合,口诀“左定值,右定址”)、成员函数(承诺不修改对象状态,可被const对象调用)、引用及参数(避免拷贝...
std::function用于存储任何符合指定签名的可调用对象,如普通函数、lambda、成员函数指针或std::bind结果;需严格匹配参数与返回类型,捕获局部变量时须注意生命周期,空对象调用抛st...