转自:http://www.cnblogs.com/mrblue/p/3141456.html

//array
#include <array>
void Foo1()
{
array<int, > a;
generate(a.begin(), a.end(), rand);
sort(a.begin(), a.end()); for (auto n:a)
{
cout<<n<<" ";
}
cout<<"sizeof(a) = "<<sizeof(a)<<endl;
}
//regex
#include <regex>
void Foo2()
{
if( regex_match("Hello World!", regex("Hello World!")) )
{
cout<<"Math!"<<endl;
} if (regex_search("321Hello World!765", std::regex("Hello")) )
{
cout<<"Search!"<<endl;
}
}
//thread
#include <thread>
void Foo3()
{
thread t1([]
{
for (int i = ; i < ; i++)
{
cout<<"t1:"<<i<<endl;
}
}
); thread t2([]
{
for (int i = ; i < ; i++)
{
cout<<"t2:"<<i<<endl;
}
}
); t1.join();
t2.join();
}
//future  (暂时没理解)
#include <future>
int Test(int a, int b)
{
cout<<"Test("<<a<<","<<b<<")"<<endl;
return a+b;
}
void Foo4()
{
future<int> f1 = async(Test,,);
cout<<"f1"<<endl; future<int> f2 = async(Test,,);
cout<<"f2"<<endl; future<int> f3 = async(Test,,);
cout<<"f3"<<endl; cout<<f1.get()<<endl<<f2.get()<<endl<<f3.get()<<endl;
}
//enum class
void Foo5()
{
#define MAKE_STR(s) #s
enum class Type
{
I = ,
II,
III,
IV,
V
}; if( ==(int)Type::V )
cout<<MAKE_STR(Type::V)<<endl;
}
//auto
#include <vector>
void Foo6()
{
auto a = ;
cout<<a<<endl; auto b = 20.0f;
cout<<b<<endl; auto& c = a;
c++;
cout<<a<<endl; vector<int> vec; for(int i = ; i<; i++)
{
vec.push_back(i);
} for(auto i = vec.cbegin(); i!=vec.cend(); i++)
{
cout<<*i<<endl;
} auto pF = [&c](int i)->int{ return c+=i; };
cout<<pF()<<endl;
cout<<a<<endl;
}
//lambda
#include <functional>
void Foo7()
{
int a = ;
int b = ;
function<int(int)> pA = [&a,b](int i)->int{ return a+=b+i; };
cout<<pA(a)<<endl;
cout<<a<<endl; //function<int(int)> pB = [&a,b](int i)->int{ return b+=a+i; };
//compile error : 'b': a by-value capture cannot be modified in a non-mutable lambda
cout<<b<<endl; auto pC = [&](int i)->int{ return pA(i); };
cout<<pC()<<endl;
}

C++ 0X 新特性实例(比较常用的) (转)的更多相关文章

  1. c++0x新特性实例(比较常用的)

    //array #include <array> void Foo() { array<> a; generate(a.begin(),a.end(),rand); sort( ...

  2. 【学亮IT手记】Java 8新特性实例介绍

    java8,也称为jdk1.8,于2014.03.18日发布,它支持函数式编程,新的js引擎,新的日期API,新的Stream Api等. 我们主要讨论以下几个新特性: ①Lambda表达式. 允许把 ...

  3. C++0x新特性

    我是在一个帖子上摘抄的大神语录...感谢supermegaboy大神,给了详尽的解释 下文是一篇转载的Wikipedia的译文,从语言和库双方面概述了C++0x. 右值引用与转移语义 在标准C++语言 ...

  4. es6/es7/es8常用新特性总结(超实用)

    本文标题有误导性,因为我其实想写node8的新特性,说实话一下子从node v1.x跳跃到node 8.x+ 真有点受宠若惊的感觉.一直觉得node 数组. 对象.序列等的处理没有python方便,因 ...

  5. JDK8新特性(二) 流式编程Stream

    流式编程是1.8中的新特性,基于常用的四种函数式接口以及Lambda表达式对集合类数据进行类似流水线一般的操作 流式编程分为大概三个步骤:获取流 → 操作流 → 返回操作结果 流的获取方式 这里先了解 ...

  6. 分享ES6中比较常用又强大的新特性

    前言 es6有很多新东西,但是感觉常用的并不是很多,这里学习记录了一些我自己认为非常常用又强大的新特性. scoping 实用的块级作用域,let x = xxx 可以声明一个块级作用域的局部变量,简 ...

  7. ES6常用新特性

    https://segmentfault.com/a/1190000011976770?share_user=1030000010776722 该文章为转载文章!仅个人喜好收藏文章! 1.前言 前几天 ...

  8. java-API中的常用类,新特性之-泛型,高级For循环,可变参数

    API中的常用类 System类System类包含一些有用的类字段和方法.它不能被实例化.属性和方法都是静态的. out,标准输出,默认打印在控制台上.通过和PrintStream打印流中的方法组合构 ...

  9. 常用的HTML5、CSS3新特性能力检测写法

    伴随着今年10月底HTML5标准版的发布,未来使用H5的场景会越来越多,这是令web开发者欢欣鼓舞的事情.然而有一个现实我们不得不看清,那就是IE系列浏览器还占有一大部分市场份额,以IE8.9为主,w ...

随机推荐

  1. 查看Linux服务器的物理状态

    1.当前内存使用情况 [user@host ~]$ free -m 2.当前CPU使用情况 [user@host ~]$ top 3.当前硬盘使用状态 [user@host ~]$ df -lh 4. ...

  2. linux系统之间基于密钥对免输入密码登陆

    通常,我们登陆到一台linux主机是需要输入密码,这样可以验证登陆者的身份. 这篇随笔里面我打算记录一下配置基于ssh密钥对登陆系统.在配置之前先和大家说明一下我遇到过的问题:刚接触到linux时候首 ...

  3. Sitemesh3的使用心得

    项目中用到了sitemesh3,就把使用心得记下来,至于配置之类的,官方网站都有,这里只是写下自己对它的理解,方便再次理解, sitemesh是基于过滤器的原理,拦截到符合配置文件中配置的路径,然后会 ...

  4. Maven插件wro4j-maven-plugin压缩、合并js、css详解

    1.    在pom.xml文件中,引入wro4j-maven-plugin插件 <plugin> <groupId>ro.isdc.wro4j</groupId> ...

  5. 【python】-- web开发之DOM

    DOM 文档对象模型(Document Object Model,DOM)是一种用于HTML和XML文档的编程接口.它给文档提供了一种结构化的表示方法,可以改变文档的内容和呈现方式.我们最为关心的是, ...

  6. CSS 布局实例系列(一)总结CSS居中的多种方法

    使用 CSS 让页面元素居中可能是我们页面开发中最常见的拦路虎啦,接下来总结一下常见的几种居中方法吧. 1. 首先来聊聊水平居中: text-align 与 inline-block 的配合 就像这样 ...

  7. 我的Android进阶之旅------>Android关于Log的一个简单封装

    android.util.Log类,可以方便地用于在编码调试过程中打印日志.但是在发布后的产品中,如果有太多的日志打印,则会严重地影响性能.对android.util.Log类做一个简单的封装,当产品 ...

  8. 9.Django里的数据同步migrations命令

    一个关键的目录: 目录名:migrations 作用:用来存放通过makemigrations命令生成的数据库脚本,这里的内容一般不要手动去改 规定:app目录下必须要有migrations目录且目录 ...

  9. header函数使用

    header('HTTP/1.1 200 OK'); //设置一个404头: header('HTTP/1.1 404 Not Found'); //设置地址被永久的重定向 header('HTTP/ ...

  10. html_dom类读取

    上传类文件以后,有三种方式调用这个类:从url中加载html文档从字符串中加载html文档从文件中加载html文档 复制代码 代码如下: <?php// 新建一个Dom实例$html = new ...