
局部变量
range遍历slice时v是副本,修改v不影响原元素;遍历map顺序随机且v也是副本;循环变量被闭包捕获时需局部绑定;channel遍历会阻塞至关闭。
C++26不包含rethrow_with_context,它仍处于TS探索阶段;标准库不支持异常上下文是因值语义、零开销原则及跨ABI兼容性限制;当前可靠方案是手动包装异常并结合std::source...
按值捕获[x]复制变量,修改仅作用于副本,不影响原变量;内置类型直接赋值,类对象调用拷贝构造函数;如需修改副本须加mutable关键字。
用std::ifstream安全读取文本文件的关键是检查打开失败而非能否打开,需用is_open()或流对象布尔判断;默认以ios::in模式打开,不支持写入;推荐std::getline()逐行读取...
Go中不能直接传值修改结构体字段,因为值传递只操作副本,原结构体不受影响;应使用指针接收者方法、封装状态、配合同步原语确保安全变更。
std::thread构造后必须join或detach,否则析构时调用std::terminate终止程序;传参默认拷贝,引用需std::ref;共享数据须用mutex等同步机制避免datarace。
constinit保证变量在静态初始化阶段完成初始化,即程序进入main前由常量表达式初始化,禁止动态初始化,不隐含const或constexpr,仅适用于命名空间作用域或静态成员。
std::thread析构前必须调用join()或detach(),否则触发std::terminate()崩溃;默认参数按值拷贝,传引用需std::ref();join()同步等待,detach()...
Go的if支持条件前加初始化语句(如val,ok:=m["k"];ok),仅在if内有效;必须用小括号和花括号;elseif可多层但宜重构;不支持悬空else;标签+break不能...
std::function用于存储任何符合指定签名的可调用对象,如普通函数、lambda、成员函数指针或std::bind结果;需严格匹配参数与返回类型,捕获局部变量时须注意生命周期,空对象调用抛st...