自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 C++11 std::thread线程库

翻译原文:https://thispointer.com/c11-tutorial/C++11 线程库介绍C++11 中新增了多线程 std::thread,相比之前使用较多的是操作系统提供的 POSIX 线程接口,新标准引入了线程库无疑带来了许多便利。要使用 C++11 多线程,首先 gcc 编译器版本需要大于4.8,并且编译时,需要加上参数 -std=c++11 -lpthread,可见,C++11 的线程是对 POSIX 线程的封装。C++11 线程创建在每个 C++ 应用程序中,都有一个默

2021-06-25 02:07:20 2292 1

转载 C++11 std::chrono时间库

参考:https://blog.csdn.net/oncealong/article/details/28599655https://blog.csdn.net/WizardtoH/article/details/81738682std::chrono 概念chrono是一个模版库,包含了一系列时间相关功能。可以很容易的实现定时功能。chrono库主要包含了三种类型:时间间隔 Duration、时钟 Clocks 和时间点 Time point。Duration(时间间隔)duration表示

2021-06-25 01:16:16 863

原创 std::forward完美转发

完美转发概念所谓完美转发,指的是在函数模板中,完全依照模板的参数类型,将参数传递给函数模板中调用的另外一个函数。比如:template <typename T>void IamForwording(T t) { IrunCodeActually(t); }上面的 IamForwording 是一个转发函数模板,而函数 IrunCodeActually 则是真正执行代码的目标函数。从函数 IrunCodeActually 的角度而言,总是希望转发函数将参数按照传入 Ia

2021-06-25 01:05:10 785

原创 std::move移动语义

std::move 概念参考:《深入理解C++11:新特性解析与应用》在 C++11 中,标准库在 <utility> 中提供了一个有用的函数 std::move,这个函数的名字具有迷惑性,实际上 std::move 并不能移动任何东西,唯一的功能就是将一个左值强制转换为一个右值引用,继而可以通过右值引用使用该值,以便用于移动语义。从实现上来看,std::move 基本等同于一个类型转换:static_cast<T&&>(lvalue);值得一提的是,被转

2021-06-25 00:56:12 898

原创 C++11右值引用

指针成员和拷贝构造函数参考:《深入理解C++11:新特性解析与应用》对于 C++ 程序员来说,如果类中包含了一个指针成员 p 的话,需要小心拷贝构造函数的编写,否则很容易出现严重内存错误。当使用编译器隐式生成的拷贝构造函数时,用一个对象 a 去构造另一个对象 b,只是把两个指针指向了同一块内存,当对象 a 作用域结束后会调用其析构函数,释放了空间,这时候对象 b 的成员 p 就成了一个“悬挂指针”,其不再指向有效的内存。当对象 b 作用域结束后,去调用析构函数,就会造成严重的内存错误。这个问题就是

2021-06-25 00:42:00 402 1

空空如也

空空如也

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

TA关注的人

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