- 博客(10)
- 资源 (7)
- 收藏
- 关注
原创 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 1767 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 589
原创 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 1705
原创 C++11之lambda表达式
lambda表达式就是匿名函数,例如:auto fun = [](int a,int b){return a + b;}lambda的格式如下[捕获列表] (参数) {函数体}捕获列表有下面几种:[] 不捕获任何变量[&] 捕获外部作用域的所有变量,并作为引用在函数体内使用(按引用捕获)[=] 捕获外部作用域的所有变量,并作为副本在函数体内使用(按值捕获)[=,&f
2016-02-24 20:59:06 459
原创 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 485
原创 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 503
原创 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 616
原创 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 501
原创 C++11多线程
基本的使用方式:#include // 线程函数1void threadFunc1(){ auto i = 0; while (i < 100) { printf("thread1 \n"); ++i; } }// 线程函数2void threadFunc2(){ auto i = 0; while (i < 100) { printf("t
2016-02-24 20:05:55 465
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人