随笔分类 - C++11 新特性
摘要:C++0x 的语法还是比较简单。下面通过几个例子来介绍下。先是通过 std::for_each 演示一个简单的例子:?std::for_each 和 lambda1234567891011121314#include #include #include int main() {std::vector my_vector({1, 2, 3, 4 ,5});std::for_each(my_vector.begin(), my_vector.end(),[](int value) { std::cout int { return a + b;}这里把返回值设置为 int 型。2. [] 的表示方.
阅读全文
摘要:转自:http://www.cnblogs.com/mrblue/p/3141456.html//array#include void Foo1(){ array a; generate(a.begin(), a.end(), rand); sort(a.begin(), a.end()); for (auto n:a) { coutvoid Foo2(){ if( regex_match("Hello World!", regex("Hello World!")) ) { coutvoid Foo3(){ threa...
阅读全文
摘要:auto并不是一个新关键词,是一个把旧关键词赋予新的作用,新的作用修饰变量声明,指示编译器根据变量的初始化表达式推导变量应有的类型。auto 声明的变量必须“在声明处完成初始化”,编译器才可根据初始化表达式推导变量的类型。二话不说,先看看例子呗。对于现在,我们一般通过迭代器 for 容器的时候,都会写出这样的代码#include #include struct people{ int age; char sex;};typedef std::map people_map;int _tmain(int argc, _TCHAR* argv[]){ people_map my_m...
阅读全文
摘要:新特性的目的右值引用(R-value Reference)是C++新标准(C++11, 11代表2011年)中引入的新特性,它实现了转移语义(Move Semantics)和精确传递(Perfect Forwarding)。主要目的包括两个方面:1.消除两个对象交互时不必要的对象拷贝,节省运算存储资源,提高效率。2.能够更简洁明确地定义泛型函数。左值与右值的定义 左值:的定义就是非临时对象,那些可以在多条语句中使用的对象。所有的变量都满足这个定义,在多条代码中都可以使用,都是左值。右值:是指临时的对象,它们只在当前的语句中有效。左值与右值的区别:左值可以被引用 , 而右值不可以被引用 。例:1
阅读全文