
c++11
NB_vol_1
这个作者很懒,什么都没留下…
展开
-
C++11多线程
基本的使用方式: #include // 线程函数1 void threadFunc1() { auto i = 0; while (i < 100) { printf("thread1 \n"); ++i; } } // 线程函数2 void threadFunc2() { auto i = 0; while (i < 100) { printf("t原创 2016-02-24 20:05:55 · 480 阅读 · 0 评论 -
C++11之生产者消费者
#include #include #include #include using namespace std; // 定义两个条件变量 // 队列未满 std::condition_variable QueueNotFull; // 队列不空 std::condition_variable QueueNotEmpty; // 队列锁 std::mutex QueueM原创 2016-02-25 10:37:41 · 1799 阅读 · 1 评论 -
C++11之move语义
move是将对象的所有权从一个对象转移到另外一个对象,只有转移,没有内存拷贝。 通过一个例子可以看的很清楚 // 定义另一个vector vector v; // move操作 v = move(arry); // move操作完了之后,arry中没有任何数据,而v则拥有了arry原来的数据 for (auto x = v.begin(); x != v.end();++原创 2016-02-24 21:37:02 · 634 阅读 · 0 评论 -
C++11之tuple元组
tuple元组是一个固定大小的不同类型值的集合,可以用来代替简单的结构体 #include #include #include using namespace std; int main(int arc,char** argv) { using MyTuple = tuple ; tuple tup1 = make_tuple(1, "jack"); // 创建一个MyTuple原创 2016-02-24 21:15:08 · 1744 阅读 · 0 评论 -
C++11之lambda表达式
lambda表达式就是匿名函数,例如: auto fun = [](int a,int b){return a + b;} lambda的格式如下 [捕获列表] (参数) {函数体} 捕获列表有下面几种: [] 不捕获任何变量 [&] 捕获外部作用域的所有变量,并作为引用在函数体内使用(按引用捕获) [=] 捕获外部作用域的所有变量,并作为副本在函数体内使用(按值捕获) [=,&f原创 2016-02-24 20:59:06 · 475 阅读 · 0 评论 -
C++11之function和bind
首先看看function的使用方法 #include #include using namespace std; // 一般的函数 void Func() { cout << __FUNCTION__ << endl; } class Test { public: // 类的静态函数 static void TestFunc(int a) { cout << __FUNCTI原创 2016-02-24 20:48:19 · 505 阅读 · 0 评论 -
C++11之基于范围的for循环
int main(int arc,char** argv) { int arr[] = { 0, 1, 2, 3, 4, 5, 6 }; for (auto var : arr) { printf("%d\ \n", var); } return 0; }原创 2016-02-24 20:23:29 · 516 阅读 · 0 评论 -
C++11之模板别名
模板别名的效果和typedef一样 #include using namespace std; // 使用模板别名 using MyMap = map ; int main(int arc,char** argv) { MyMap mymap; for (auto i = 0; i < 10; ++i) { mymap.insert(make_pair(i, "Hello"));原创 2016-02-24 20:19:00 · 644 阅读 · 0 评论 -
C++11之auto、decltype关键字
auto通过表达式在编译时确定变量类型 decltype则可以在编译时确定一个表达式的类型 int main(int arc,char** argv) { auto var = 10; // var在编译时被确定为int类型 decltype(var + 1) x = 0; // x在编译时被确定为int类型 return 0; }原创 2016-02-24 20:13:16 · 531 阅读 · 0 评论 -
C++11之右值引用
原文地址 点击打开链接转载 2016-02-25 22:21:04 · 621 阅读 · 0 评论