摘要: tuple是一个固定大小的不同类型值的集合,是泛化的 std::pair。可以当做一通用的结构体使用,不需要创建结构体而又获取结构体的特征,在某些情况下可以取代结构体,使程序简洁、直观。创建tuple 1. make_tupe tuple tp = make_tuple(sendPack... 阅读全文
posted @ 2015-09-12 17:43 农民伯伯-Coding 阅读(1177) 评论(0) 推荐(0) 编辑
摘要: lambda表达式函数式编程的一个语法,有如下优点:(1)声明式编程风格:就地匿名定义目标函数或函数对象,不需要额外写一个命名函数或者函数对象。以更直接的方式写程序,好的可读性和可维护性。(2)简洁:不需要额外再写一个函数或者函数对象,避免了代码膨胀和功能分散。(3)在需要的时间和地点实现功能闭包,... 阅读全文
posted @ 2015-09-12 17:33 农民伯伯-Coding 阅读(528) 评论(0) 推荐(0) 编辑
摘要: c++11中增加了std::function和std::bind,可更加方便的使用标准库,同时也可方便的进行延时求值。可调用对象c++中的可调用对象存在以下几类:(1)函数指针(2)具有operator()成员函数的类对象(仿函数)(3)可被转换为函数指针的类对象(4)类成员(函数)指针void f... 阅读全文
posted @ 2015-09-12 16:39 农民伯伯-Coding 阅读(3245) 评论(0) 推荐(0) 编辑
摘要: c++11中有基于范围的for循环,基于范围的for循环可以不再关心迭代器的概念,只需要关系容器中的元素类型即可,同时也不必显式的给出容器的开头和结尾。int arr[] = {1, 2, 3, 4};for(int a : arr){...}vector str_arr{"hello", "wor... 阅读全文
posted @ 2015-09-12 15:18 农民伯伯-Coding 阅读(2578) 评论(0) 推荐(1) 编辑
摘要: 1. 使用列表初始化在c++98/03中,对象的初始化方法有很多种,例如int ar[3] = {1,2,3};int arr[] = {1,2,3}; //普通数组struct A{ int x; struct B{ int y; int z; } ... 阅读全文
posted @ 2015-09-12 13:32 农民伯伯-Coding 阅读(903) 评论(0) 推荐(0) 编辑
摘要: c++11改进了编译器的解析规则,尽可能的将多个右尖括号(>)解析为模板参数结束符,方便编写模板相关的代码。1. 模板的右尖括号之前的c++标准中,模板套模板中右尖括号不能连在一块,否则会和右移操作符混淆,如 vector > //右边的两个>要分开。而在c++11中,这种限制取消了,编译器能够判断... 阅读全文
posted @ 2015-09-12 11:31 农民伯伯-Coding 阅读(477) 评论(0) 推荐(0) 编辑
摘要: c++11中引入了auto和decltype关键字实现类型推导,通过这两个关键字不仅能够方便的获取复杂的类型,而且还能简化书写,提高编码效率。auto和decltype的类型推导都是编译器在编译的时候完成的,auto是通过定义auto变量时候给出的表达式的值推导出实际类型,并且在声明auto变量时必... 阅读全文
posted @ 2015-09-12 09:46 农民伯伯-Coding 阅读(730) 评论(0) 推荐(0) 编辑