
句柄
io.Copy复制为空文件因未正确打开目标文件或源已到EOF;须用os.O_CREATE|os.O_WRONLY|os.O_TRUNC打开目标,检查io.Copy返回的n>0且err==nil;...
浅拷贝是按字节复制对象内存,深拷贝需手动实现以避免指针共享;当类含裸指针、自定义深拷贝成员或独占资源时必须重写拷贝构造函数、赋值运算符并遵循三/五法则。
根本原因是os.Open和io.Copy未正确处理读写偏移、文件关闭时机或共用*os.File;应每个goroutine独立打开源文件、目标文件用O_CREATE|O_WRONLY|O_TRUNC、复...
new/delete会调用构造/析构函数,malloc/free不会;前者是类型感知的操作符,后者是纯内存操作;混用导致未定义行为,且无法跨语言或跨分配器安全使用。
结构体字段应声明为指针当且仅当需表达可空性、延迟初始化、共享修改或避免大对象拷贝;小值类型若确定非空且无需区分零值与未设置,则优先用值类型。
Unsafe.As是零开销的内存重解释工具,仅在sizeof(TFrom)==sizeof(TTo)时允许编译,不进行类型检查、构造、装箱/拆箱,失败导致未定义行为;不是as关键字的unsafe版本,...
基类析构函数不加virtual会导致资源泄漏,因为用基类指针delete派生类对象时仅调用基类析构,跳过派生类析构逻辑,使堆内存、文件句柄等无法释放;只要存在多态删除可能(如基类被继承或用于智能指针)...
右值引用用T&&声明,仅绑定临时对象或std::move转换的右值;其核心是启用移动语义,非高效const引用;auto&&是万能引用;std::move仅类型转换;移...
C++20协程无法直接异步读写文件,因标准库无异步I/O;必须用线程池+可等待封装(如packaged_task或boost.asio)实现伪异步,注意线程安全与磁盘I/O瓶颈。
C++11起局部静态变量首次初始化线程安全,编译器自动生成同步机制确保仅执行一次构造;但初始化后读写不加锁,对象本身不保证线程安全。