自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(219)
  • 资源 (4)
  • 收藏
  • 关注

原创 可变参数函数

可变参数函数

2024-05-13 23:43:33 157

原创 Functional Programming

Functional Programming

2024-05-13 23:36:46 257

原创 std::mem_fn和std::mem_fun

std::mem_fn和std::mem_fun(deprecated)Convert member function to function object,即将成员函数转化为函数对象,这样就可以像普通函数那样使用。

2024-05-13 23:36:08 164

原创 特化标准库中的类模板

以std::map和std::less作为载体说明如何特化标准库中的类模板。

2024-05-08 23:04:57 196

原创 模板显式特化与隐式特化

当使用一个模板时,称为实例化模板。模板实例是编译器通过将模板参数应用于模板定义而创建的具体函数或类。模板实例又称为特化。因此,rational是模板rational的一个特化。因此,特化是针对特定一组模板参数实现模板的过程。C++允许为一个特定的模板参数集合定义一个定制的特化;也就是说,可以创建一个规则的例外情况。当你自己定义特化而不是让编译器为你实例化模板时,它被称为显式特化(也称为完全特化)。编译器自动创建的特化将是隐式特化。

2024-05-08 23:04:18 323

原创 (类)偏特化Partial Specialization

当编写一个模板特化,涉及部分但不是全部模板参数时,它被称为偏特化(Partial Specialization)。【注意,偏特化是针对类模板而言,函数模板不可偏特化,只能全特化】

2024-05-08 23:03:39 173

原创 值模板参数Value Template Parameters

模板通常使用类型作为参数,但它们也可以使用值。使用类型和可选名称声明一个值模板参数,方式与声明函数参数类似。值模板参数仅限于可以指定编译时常量的类型是bool、char、int等,但不允许使用浮点类型、字符串字面值和类。

2024-05-08 23:02:48 270

原创 类模板是创建类的模式

类模板和函数模板一样,使用关键字template引入一个类模板。类模板是创建类的模式,通过提供模板参数来实现

2024-05-06 19:46:41 196

原创 使用模板时模板的定义应该放到头文件

在使用函数模板之前,编译器必须看到不仅仅是一个声明,通常编译器需要完整的函数模板定义。换句话说,如果你在头文件中定义了一个模板,那么这个头文件必须包含该函数模板的主体。

2024-05-06 17:30:05 203

原创 对于模板,编译器不会执行任何自动类型转换

作为一个模板,编译器不会执行任何自动类型转换。编译器无法知道你想要模板参数具有第一个函数参数的类型,或第二个函数参数的类型,或者有时是第一个,有时是第二个。相反,编译器要求你明确地写出你的意思。在这种情况下,你可以通过将所需的类型放在尖括号中告诉编译器要使用哪种类型作为模板参数。

2024-05-06 16:47:07 199

原创 函数模板含有多个模板参数

如果一个模板接受多个参数,用逗号分隔参数。使用时必要情况下需要主动传入模板参数。

2024-05-06 16:45:19 165

原创 模板的魔力发生在编译时

模板的魔力发生在编译时。

2024-05-05 23:40:23 280

原创 structured bindings的方式访问std::map

structured bindings的方式访问std::map

2024-05-05 19:17:02 100

原创 不能盲目地将std::vector的push_back替换为emplace_back

使用push_back还是emplace_back的建议:如果push_back的对象是已经存在的,则不建议盲目将push_back替换为emplace_back。因为emplace_back可能会引起不必要的二进制膨胀。如果对象是新创建的,则可以考虑将push_back(Obj(构造参数))改为emplace_back(Obj(构造参数))。

2024-05-05 16:12:49 125

原创 std::sort并不支持所有的容器

std::sort并不支持所有的容器,无法对std::list使用std::sort(),但可以使用std::list的方法sort()。

2024-05-04 22:12:11 161

原创 移动构造函数是否标记noexcept对性能有重要影响

移动构造标记`noexcept`时才会被正确调用

2024-05-04 20:19:41 257

原创 继承体系下的拷贝构造

CRTP(Curiously Recurring Template Pattern) 奇异递归模板模式。使用CRTP的目的是父类在编译时就可以知道子类的信息,将多态调用转为编译期绑定,节省了虚函数调用的开销。不使用CRTP时是虚函数调用,使用CRTP时在编译期利用子类作为模板参数,提早绑定子类,而不是运行时绑定。

2024-05-04 14:33:04 341

原创 引用参数的不同种类

【代码】引用参数的不同种类。

2024-05-01 18:37:59 5

原创 内联、普通函数、虚函数调用开销比较

普通函数和虚函数开销差异本身并不大,内联可以降低开销。

2024-04-29 19:45:17 705

原创 std::string性能优化示例

【代码】std::string性能优化示例。

2024-04-27 22:21:50 64

原创 泛型算法

std::remove_if函数删除容器中满足`pred`的元素,返回最后一个没被移除的元素后面一个迭代器(An iterator to the element that follows the last element not removed.),但是容器的大小是不变的。假设`std::remove_if`返回的迭代器是`pend`,虽然容器的大小不变,

2024-04-27 19:36:16 245

原创 定位,争夺用户心智的战争

别问自己能为公司做什么,要问公司能为你做什么。所以,你如果想在事业上抓住最大的机会,就得睁大眼睛,为自己找一匹马。

2024-04-26 23:11:51 250

原创 yolov8旋转目标检测输出的角度转化为适合机械爪抓取的角度(包含代码实现)

yolov8旋转目标检测输出的角度转化为适合机械爪抓取的角度

2024-04-26 10:59:27 648

原创 性能测试工具三——perf + FlameGraph(采样测试)

性能测试工具perf、FlameGraph

2024-04-24 20:14:29 339

原创 性能测试工具一——gprof(采样测试与插桩测试结合的混合测试)

gprof

2024-04-24 18:30:15 217

原创 性能测试工具二——google-perftools(采样测试)

google-perftools

2024-04-24 18:25:07 200

原创 TensorRT plugins and ONNX parser编译

TensorRT plugins and ONNX parser编译

2024-04-24 12:45:46 236

原创 NVIDIA Jetson jtop查看资源信息

jtop查看资源信息

2024-04-24 12:43:25 218 1

原创 C++中`Stream-based I/O`是`RAII`机制的

C++中都是RAII机制的,文件流可以不手动close。

2024-04-24 12:42:41 195

原创 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 1009

原创 Ubuntu Pycharm安装

Ubuntu下安装PyCharm

2024-04-21 19:38:47 461

转载 Install Ubuntu 22.04 on Mac M1

在MAC OS上安装Linux虚拟机

2024-04-21 18:09:28 21

原创 Ubuntu开发环境安装

OR。

2024-04-19 07:45:18 1048

原创 C++性能测试工具(插桩测试)

【代码】C++性能测试工具。

2024-04-08 13:46:35 373

原创 Linux时钟函数

【代码】Linux时钟函数。

2024-04-01 21:59:27 166

原创 constexpr与std::is_same_v碰撞会产生什么火花?

constexpr与std::is_same_v碰撞会产生什么火花?

2024-03-29 15:34:40 631

原创 std::string_view

而使用std::string_view作为入参可以同时兼容入参是std::string和const char*的情况。可以提供重载的print来避免上述问题,不过会增加代码量。都提供时编译器还是会进行最佳匹配。如下的代码,当只提供入参是。

2024-03-28 22:43:02 237

原创 structured bindings is supported from c++17

structured bindings

2024-03-28 16:25:04 328

原创 std::string从C++20支持的新Operations

【代码】std::string从C++20支持的新Operations。

2024-03-28 14:35:54 566

原创 std::chrono::time_point

【代码】std::chrono::time_point。

2024-03-28 14:33:22 102

yuvplayer.exe

图像查看器,支持YUV各种格式、支持RGB各种格式。

2024-04-15

yolov5-obb保姆级教程

yolov5-obb保姆级教程

2023-06-05

roLabelImg.exe

https://github.com/cgvict/roLabelImg/blob/master/README.rst 对应的编译好的windows端可执行文件。

2023-05-04

mask-wearing data for yolov8

开源数据集roboflow上戴口罩检测,适用于yolov8 https://public.roboflow.com/object-detection/mask-wearing/4

2023-03-20

CMake关于ctest的示例

建议多参考官方文档:https://cmake.org/cmake/help/latest/manual/ctest.1.html?highlight=ctest

2022-05-31

CMakeLists.txt编写示例

CMake入门级范例,针对相对简单的工程管理。

2022-05-22

cifar10_multi_gpu_train.py

TensorFlow多GPU训练官方示例,绝壁不是草泥马写个CUDA_VISIBLE_DEVICES就可以解决的事情。整体思路关键是求变量在各个GPU上的梯度平均值,然后用梯度平均值去更新变量。

2020-11-29

黄金分割算法

黄金分割算法

2013-12-02

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除