- 博客(198)
- 资源 (4)
- 收藏
- 关注
原创 CMakeLists.txt中如何添加编译选项?
编译器实际使用的编译选项不只是来源于`CMAKE_CXX_FLAGS`,而是来自`CMAKE_CXX_FLAGS`与其它变量(如`CMAKE_CXX_FLAGS_DEBUG`、`CMAKE_CXX_FLAGS_RELEASE`、`CMAKE_CXX_STANDARD `等)的组合。
2024-04-24 12:41:25 558
原创 可优先使用std::string_view作为函数入参
而使用std::string_view作为入参可以同时兼容入参是std::string和const char*的情况。可以提供重载的print来避免上述问题,不过会增加代码量。都提供时编译器还是会进行最佳匹配。如下的代码,当只提供入参是。
2024-03-28 22:43:02 218
原创 使用虚拟继承解决菱形继承的问题
菱形继承:两个子类继承同一个父类,而又有子类同时继承这两个子类。如果父类中可被子类访问的数据成员或函数成员被子类一路继承下去,那么子类中使用时会出现调用不明确。
2023-02-08 23:20:45 106
原创 move functions with VS without noexcept
移动函数被noexcept修饰可能会提升std::vector的push_back的效率
2022-12-18 18:36:16 338
原创 WHYTO: Covariant Return Types in C++
在类的继承中为什么要返回协变类型?原因之一是使用协变时对用户友好👬,不用在类型之间强转。
2022-12-04 15:58:45 250
原创 Variadic Templates
Variadic Templates变参模板:recursive function call,递归函数调用处理的是函数参数,使用的是函数模板function templaterecursive inheritance,递归继承处理的是类型(type),使用的是类模板class templaterecursive composition,递归复合处理的是类型(type),使用的是类模板class template
2022-11-30 00:24:10 153
原创 自己写个内存追踪器?——简易版调试工具
常用的IDE如Visual Studio在调试模式下之所以能通过查看堆栈等来追踪变量、调试,是因为IDE在申请内存的时候在实际返回给用户的内存的前后多申请了部分内存用于存储调试信息。此处做个模拟调试器,草稿版本是对原作者实现的复现;改进版是加入了对变量名的追踪,更容易看到所申请内存是哪个变量。
2022-11-28 20:24:19 211
roLabelImg.exe
2023-05-04
mask-wearing data for yolov8
2023-03-20
CMake关于ctest的示例
2022-05-31
cifar10_multi_gpu_train.py
2020-11-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人