C++11
半雨微凉丶
这个作者很懒,什么都没留下…
展开
-
C++11之auto类型说明符
说明:用它可以让编译器替我们去分析表达式所属的类型。auto让编译器通过初始值来推算变量的类型,所以,auto定义的变量必须有初始值。auto一条语句中可以声明多个变量,但是只能有一个基本数据类型auto会忽略掉顶层const,但是底层const会保留auto类型为引用时,初始值中的顶层const会被保留使用示例:int i=0;auto a=i; //intc...原创 2018-11-18 18:20:43 · 353 阅读 · 0 评论 -
thread_local 本地存储
示例代码:#include <iostream>#include <thread>#include <mutex>using namespace std;mutex m;thread_local int local_num = 1;int g_n = 100;void addLocal(){ local_num += 10...原创 2019-04-18 10:07:43 · 355 阅读 · 0 评论 -
std::thread 创建线程的几种方式
简介本文主要介绍标准C++中 thread的创建线程的几种方式。使用时需要加头文件:#include <thread>位于std命名空间中,是跨平台的线程操作使用说明1、通过函数指针创建一般来说,像CreateThread、_beginthread等创建线程时,都会先写一个含有一个参数(LPVOID lpParam)的全局函数,用于通过函数指针创建线程...原创 2019-04-18 08:22:54 · 8405 阅读 · 1 评论 -
C++11之右值引用
左值与右值:1、可以取地址的、有名字的是左值,左值用的是对象的身份(在内存中的位置)2、不能取地址、没有名字的是右值,右值用的是对象的值(内容)左值引用与右值引用:左值引用:常规引用也就是对左值的引用(为了与右值引用区分),通过 & 获得,比如 int a=10; int &b=a;右值引用:必须绑定到右值的引用,通过 && 获得。int a=1...原创 2019-01-20 11:32:26 · 168 阅读 · 0 评论 -
C++11之委托构造函数
知识点:1、使用所在类的其他构造函数执行自己的初始化2、当一个构造函数A委托给构造函数B的时候,先执行A的初始化列表和函数体,然后执行B的初始化列表和函数体示例代码:#include <iostream>using namespace std;class Sales_data{public: Sales_data( string s, unsign...原创 2018-12-11 10:32:09 · 507 阅读 · 0 评论 -
C++11之 initiater_list
initiater_list 作为C++11提供的一种可变参数的方法,有如下特点:1、initiater_list 是一个模板类型,与其他模板类型不同的是,initiater_list 对象中的元素永远是常量,无法改变2、使用 initiater_list 实现可变参数时,参数的类型必须相同,类似于数组(至于不同类型的情况,参照其他文章)3、常见使用方法initiater_list...原创 2018-12-02 13:47:03 · 394 阅读 · 0 评论 -
C++11之begin、end函数
C++11引入了 begin 和 end 的函数,这两个函数与容器中的两个同名成员功能类似,不过这两个函数不是成员函数,而是含有参数的函数。用法说明:begin 返回首元素的地址,end 返回尾元素的下一个地址。示例代码:#include <iostream>using namespace std;//by zhaoclint main(){ in...原创 2018-11-21 21:34:13 · 16065 阅读 · 1 评论 -
C++11之for循环
简单使用:输出每个元素:string s = "biu biu biu";for(auto i : s){ cout<<i<<endl;} 顺带改变值的话,需要使用引用替换标点符号为@:string s = "biu,biu!biu."for(auto &i : s){ if(ispunct(i)) ...原创 2018-11-18 18:43:07 · 439 阅读 · 0 评论 -
C++11之decltype类型说明符
说明:decltype选择并返回操作数的类型,但是不去计算表达式的值去初始化变量decltype处理顶层constdecltype使用不加括号的变量,得到的是该变量的类型,如果变量加了一层或多层括号,则会得到引用类型使用示例:const int a=100;decltype(a) x=0; //处理顶层const,类型为const int,所以需要初始化const in...原创 2018-11-18 18:30:21 · 687 阅读 · 0 评论 -
C++11 之 多线程中的原子操作
简介:原子操作指的是由多步操作组成的一个操作。如果该操作不能原子地执行,则要么执行完所有步骤,要么一步也不执行,不可能只执行所有步骤的一个子集。这意味着不需要额外的同步机制(比如显示加锁)就可以执行并发的读写操作。原子类型:示例代码:#include <iostream>#include <atomic>#include <thread&...原创 2019-04-18 11:18:40 · 604 阅读 · 0 评论