新闻中心
-
12-06c++如何使用Sanitizers进行代码诊断_c++ UBSan与TSan详解UBSan和TSan是C++中用于检测未定义行为和数据竞争的实用工具,通过编译时添加-fsanitize=undefined或-thread启用,配合-g和-O...
-
12-06c++如何使用std::unique_ptr的自定义删除器_c++智能指针与资源管理扩展自定义删除器用于适配非普通堆内存资源的释放,如文件句柄、C库资源或数组,确保正确调用fclose、delete[]等清理操作。
-
12-06C++ move语义是什么_C++11右值引用与std::move的性能优化原理C++11的move语义通过右值引用避免不必要的资源复制,提升性能;2.右值引用T&&绑定临时对象,实现资源“窃取”;3.移动构造函数和移动赋值...
-
12-06C++ string去除空格_C++ trim去除首尾空白字符C++标准库无trim函数,需手动实现。通过std::isspace配合循环查找首尾非空白字符,再用substr或erase提取或删除空白,可安全高效去除字符串...
-
12-05C++如何优雅处理错误_C++23 std::expected作为函数返回值的最佳实践std::expected提供类型安全、无异常开销的错误处理,强制调用者处理成功与失败情况。1.使用值类型T和轻量错误类型E;2.通过and_then、or_e...
-
12-05C++ weak_ptr解决循环引用_C++智能指针的循环依赖处理shared_ptr因循环引用导致内存泄漏,weak_ptr可打破循环。例如类A和B互相持有shared_ptr时,引用计数无法归零;将其中一个改为weak_p...

