自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 收藏
  • 关注

原创 C++ 条件变量虚假唤醒问题的解决

在 C++ 中, 的 和 方法除了可以传入一个锁(),还可以传入一个谓词函数(函数或可调用对象)。这个谓词的作用是让条件变量在特定的条件满足时才退出等待。谓词是一个返回布尔值的函数或可调用对象,它用于判断某个条件是否满足。如果条件不满足, 会继续阻塞当前线程;如果条件满足,线程会立即退出等待状态。如果不使用谓词,必须手动在循环中检查条件:在这种情况下, 只是等待被唤醒,但必须手动在循环中检查 是否为 。否则,线程可能会因为虚假唤醒提前退出。通过传入谓词,可以让 方法自动检查条件,避免手动循环:解

2025-05-26 11:02:46 554

原创 static_cast,dynamic_cast 与隐式强制转换

{}

2025-05-26 09:47:18 858

原创 C C++中怎么定义一个函数的指针

分别给出在 C 和 C++ 中声明(引出)普通函数指针和成员函数指针的示例。

2025-05-23 08:25:11 191

原创 opencv 对roi操作需要注意可能丢失roi问题

在 OpenCV 里,Mata + b调用的是全局函数(对不同类型有多个重载)这个函数内部创建一个新的Mat tmp,把src1和src2按元素相加的结果写入tmp,然后返回它。dst = tmp调用的是Matdsttmpdsta+b。

2025-05-17 17:39:41 693

原创 引用使用的一个注意事项------可能使你的引用失效

在 C++ 中,函数可以返回一个T&),允许调用者直接操作被引用的对象。但T&——调用处接收返回值时,若不使用引用类型,也会触发(拷贝),与引用语义无关。下面我们从示例和原理两方面来深入剖析。

2025-05-10 13:45:11 347

原创 C++17解决了One Definition Rule问题

声明(declaration):告诉编译器“有这么个名字、这么种类型”,不分配存储,也不产生代码。// 仅声明,全局变量 g_value// 仅声明,函数 foo定义(definition):为变量分配存储,或给函数提供函数体;同一个程序中,对非内联实体,只能出现一次定义。// 定义,全局变量分配空间void foo(int x) { /*…*/ } // 定义,函数体假设有这样一个头文件common.h// ⚠ 直接定义!void foo() { /*…*/ } // ⚠ 直接定义!

2025-05-09 14:14:49 1004

原创 VA_ARGS用法

在 C/C++(C99 及以后标准)中,可以用“可变参数宏”(variadic macro)来定义接收不定数量参数的宏,使用的关键字就是...和。下面把它们的语法、常见用法、标准差异和常见陷阱做个归纳。

2025-05-04 15:34:36 254

原创 detect idiom 两个范例

版本二:检测是否有某个特定参数的函数。版本一:检测是否有某个函数。

2025-05-03 21:01:50 200

原创 条件变量 互斥锁 信号量 区别

在并发编程中,互斥量(Mutex)、条件变量(Condition Variable)、信号量(Semaphore)和锁(Lock)都是用于协调线程(或进程)对共享资源访问的同步原语。

2025-04-24 17:13:25 433

原创 智能指针与移动语义一些最佳实践

在现代 C++ 中,和是两种常用的智能指针,用于管理动态分配对象的生命周期。配合移动语义,这两者能帮助我们写出既高效又安全的代码。

2025-04-21 11:06:39 257

原创 模板函数中左右值引用的正确使用

参数为T&——也就是会带来几个副作用和限制constT&TT&

2025-04-18 20:27:10 250

原创 C++智能指针别名构造函数

在 C++11 的ptrr.get()rr。

2025-04-18 20:05:27 500

原创 智能指针删除器的两种用法

可能的疑问:functional没有具体的函数实现只是一个类型,那么仿函数作何理解,他难道不是一个类型吗,为什么不需要初始化?

2025-04-18 18:49:01 286

原创 实际理解一段openmp+simd的cpu加速代码

实操使用openmp和simd加速图像处理算法

2025-03-22 14:47:53 824

原创 Python多进程简要使用方法

多进程简要使用方法

2024-12-30 11:16:30 215

原创 C++中管理C资源的方法

C++ 的智能指针(如 std::unique_ptr 和 std::shared_ptr)可以通过自定义删除器来管理 C 语言 资源。这样,您可以利用智能指针的自动资源管理机制,同时自定义资源的释放方式。示例:使用 std::unique_ptr 管理 FILE* 资源// 可以添加更多的清理逻辑// 定义一个 unique_ptr,管理 FILE* 资源,并指定删除器if (!

2024-11-30 11:12:00 387

原创 Linux及Windows下动态链接的对比

【代码】Linux及Windows下动态链接的对比。

2024-11-08 09:10:45 330

原创 extern关键字在C与C++中的一些用法与注意

关键点:头文件中的变量声明必须用extern所以:头文件中的变量声明必须使用extern这与函数声明不同()实际定义只能在一个.cpp文件中函数声明可以不用extern,因为函数是唯一的,原因是:函数声明默认就是extern的函数声明不会分配存储空间编译器知道这只是一个声明变量声明默认会导致定义会分配存储空间必须显式使用extern表明这只是声明。

2024-11-08 08:57:14 840

原创 引用的使用注意

引用虽然方便,但需要谨慎使用,特别是在涉及生命周期管理的场景。

2024-11-01 15:11:34 283

原创 # TVM学习笔记(疑难点)(1)

【代码】# TVM学习笔记(疑难点)(1)

2024-10-31 21:58:17 279

原创 WSL2使用systemctl解决方案,只需要修改配置文件

解决WSL2无法使用systemd systemctl的问题

2022-11-03 23:52:04 4403

空空如也

空空如也

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

TA关注的人

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