
c11
文章平均质量分 52
羽生少年
格物致知,知行合一!
展开
-
C++ 11 Lambda表达式
值捕获和参数传递中的值传递类似,被捕获的变量的值在Lambda表达式创建时通过值拷贝的方式传入,因此随后对该变量的修改不会影响影响Lambda表达式中的值。上面这个例子先声明了一个整型变量a,然后再创建Lambda表达式,该表达式“捕获”了a变量,这样在Lambda表达式函数体中就可以获得该变量的值。上面的例子,要么是值捕获,要么是引用捕获,Lambda表达式还支持混合的方式捕获外部变量,这种方式主要是以上几种捕获方式的组合使用。原创 2023-06-21 10:57:09 · 660 阅读 · 0 评论 -
右值引用使用场景和意义
右值引用原创 2022-10-09 17:27:37 · 1016 阅读 · 0 评论 -
左值和左值引用、右值和右值引用
左值和左值引用、右值和右值引用 - _yanghh - 博客园 (cnblogs.com)原创 2022-04-02 16:14:37 · 108 阅读 · 0 评论 -
C11新特性
C++11新特性之右值引用(&&)、移动语义(move)、完美转换(forward) - Fate0729 - 博客园 (cnblogs.com)原创 2022-03-21 22:54:01 · 336 阅读 · 0 评论 -
基于C++11的线程池
基于C++11的线程池 - magicsoar - 博客园原创 2021-12-01 14:04:28 · 770 阅读 · 0 评论 -
C++11: std::function<void()> func
std::function介绍类模版std::function是一种通用、多态的函数封装。std::function的实例可以对任何可以调用的目标实体进行存储、复制、和调用操作,这些目标实体包括普通函数、Lambda表达式、函数指针、以及其它函数对象等。std::function对象是对C++中现有的可调用实体的一种类型安全的包裹(我们知道像函数指针这类可调用实体,是类型不安全的)。通常std::function是一个函数对象类,它包装其它任意的函数对象,被包装的函数对象具有类型为T1, …,TN的原创 2021-11-22 10:56:49 · 4651 阅读 · 0 评论 -
std::unique_lock与std::lock_guard区别示例
std::unique_lock也可以提供自动加锁、解锁功能,比std::lock_guard更加灵活。std::lock_guardstd::lock_guard是RAII模板类的简单实现,功能简单。1.std::lock_guard 在构造函数中进行加锁,析构函数中进行解锁。2.锁在多线程编程中,使用较多,因此c++11提供了lock_guard模板类;在实际编程中,我们也可以根据自己的场景编写resource_guardRAII类,避免忘掉释放资源。下面是一个使用std::...原创 2021-11-16 10:52:54 · 537 阅读 · 0 评论 -
C11 的智能指针(shared_ptr,weak_ptr)
一:概述参考资料:《C++ Primer中文版 第五版》我们知道除了静态内存和栈内存外,每个程序还有一个内存池,这部分内存被称为自由空间或者堆。程序用堆来存储动态分配的对象即那些在程序运行时分配的对象,当动态对象不再使用时,我们的代码必须显式的销毁它们。在C++中,动态内存的管理是用一对运算符完成的:new和delete,new:在动态内存中为对象分配一块空间并返回一个指向该对象的指针,delete:指向一个动态独享的指针,销毁对象,并释放与之关联的内存。动态内存管理经常会出现两种问题:一种是原创 2021-07-15 09:16:33 · 811 阅读 · 0 评论 -
c++ 回调函数与std::function使用实例
c++ 回调函数与std::function使用实例_guotianqing的博客-优快云博客多个类之间的交叉调用,如何定义一个接口原创 2021-07-12 11:06:33 · 145 阅读 · 0 评论