近日托安装雪豹的“福”,格了XP装了win7,前段时间看了C++0X标准以及VS2010诱人的新特性,不禁心痒痒在线安装了VS2010,然后手写了这个列子用来测试新增的特性。

struct _SUT {     int _a;     char _c; };
int _tmain(int argc, _TCHAR* argv[]) {     //auto关键字     auto i = 0.0f;     cout << typeid(i).name() << " i = " << i <<endl;     //静态编译断言     static_assert(sizeof(i) == 4, "sizeof(i) != 4");
    vector<int> v;     for (int i = 0; i < 10; i++)         v.push_back(i);
    //decltype关键字 & 空指针常量     decltype(i) b = 1;     decltype(b) *p = nullptr;     p = &b;
    //lambda表达式     for_each(v.begin(), v.end(), [&i, p](int n)     {         i += n;       www.90168.org  (*p)++;     });     cout << "i=" << i << "\t" << "b=" << b << endl;          //右值引用     _SUT lVal = { 1, 'c'};     _SUT &&rVal = move(lVal);     cout << "rVal._a = " << rVal._a << endl;
    return 0; }

PS:VS2010好用看得见,可惜只支持C++0X中的若干条新增特性,这就是现实(编译器厂商因为某种理由拒绝标准)与理想(语言标准)的差距啊。

Feedback

# re: 一个列子演示vs2010 c++新特性  回复更多评论

2010-06-10 16:43 by 空明流转

不是厂商拒绝标准,而是标准还没完成,所以VS只需要引入一部分就OK了,和当年的VC6的情况是一样的。

# re: 一个列子演示vs2010 c++新特性  回复 更多评论

2010-06-10 16:44 by 空明流转

还有,貌似你那个Move根本什么都没用到。#re: 一个列子演示vs2010 c++新特性  回复 更多评论  
2010-06-13 16:07 by 乱78糟
@空明流转 怎么说呢,标准的制定者指定标准时既要考虑兼容性又要考虑编译器的实现复杂性,而厂商可能因为编译器的兼容或实现复杂度而拒绝支持某些标准,所以说是现实和理想的差距。
那个move的确没清晰的展示右值引用的特性,改成这样更为直观一些: _STU&& fun() { _SUT lVal = { 1, 'c'}; cout << "lVal._a = " www.90168.org<< lVal._a <<endl; return move(lVal); }
int main() { ... _SUT &&rVal = fun(); cout << "rVal._a = " << rVal._a << endl; }

一个列子演示vs2010 c++新特性的更多相关文章

  1. TypeScript 2.0候选版(RC)已出,哪些新特性值得我们关注?

    注:本文提及到的代码示例下载地址 - Runnable sample to introduce Typescript 2.0 RC new features 作为一个Javascript的超集, Ty ...

  2. 重新想象 Windows 8.1 Store Apps (84) - 图像处理的新特性, Share Contract 的新特性

    [源码下载] 重新想象 Windows 8.1 Store Apps (84) - 图像处理的新特性, Share Contract 的新特性 作者:webabcd 介绍重新想象 Windows 8. ...

  3. [转].NET4.0新特性集合贴

    vs2010正式版4月12日发布了,前几天我也下了一个,但这几天都没有时间好好试用一下,今天针对C#语言的新特性使用了一下,感觉还不错,有几个新特性和大家分享一下,希望我没有太火星…… 一.新关键词— ...

  4. iOS9 collectionView新特性

    近日因为系统升级导致xcode6.系列版本出现bug,于是开始使用xcode7.在使用之余突然想到collectionView在iOS9中发布了一个可以移动cell的新特性,就尝试着将其实现,无奈ap ...

  5. C# 6.0中你不知道的新特性

    为什么写? 今天去上班的公交上,有朋友在张队(张善友)的微信群里,发了一个介绍C# 6.0新特性的视频,视频7分钟,加上本人英语实在太low,整体看下来是一脸懵逼的. 下班回到家里,打开这个视频,把视 ...

  6. Mozilla新特性只支持https网站,再次推动SSL证书普及

    Mozilla的官方博客2015.4.30正式宣布了淘汰HTTP的方案. 其中包括:设定一个日期,所有的新特性将只提供给HTTPS网站:HTTP网站将逐步被禁止访问浏览器功能,尤其是那些与用户安全和隐 ...

  7. Red Hat OpenStack 10的新特性

    这是Red Hat有史以来最好的版本,同时也是第一个长生命周期版本(最长五年支持),这篇文章会介绍为什么这是你私有云最好的礼物. 由于要使用命令行,以前安装OpenStack是很繁重的工作.这个版本提 ...

  8. 即将到来的Android N,将具备这些新特性

    原文转自:http://www.leiphone.com/news/201602/pSRQAuAjMFJITqHe.html         原创 訾竣喆 即将到来的Android N,将具备这些新特 ...

  9. Mozilla新特性只支持https网站

    Mozilla的官方博客2015.4.30正式宣布了淘汰HTTP的方案. 其中包括:设定一个日期,所有的新特性将只提供给HTTPS网站:HTTP网站将逐步被禁止访问浏览器功能,尤其是那些与用户安全和隐 ...

随机推荐

  1. BZOJ3489: A simple rmq problem

    设$i$的前驱为$p_i$,后继为$q_i$,把询问看成点$(L,R)$,有贡献的$i$满足$L\in(p_i,i]$且$R\in[i,q_i)$,询问的就是覆盖这个点的矩形的最大值.那么可以用可持久 ...

  2. java学习笔记一

    数据类型 Java数据类型分为两大类:基本数据类型和复合数据类型,其中复合数据类型包括数组.类和接口. 基本数据类型(默认值只在类中有,函数变量无初始值) int 32bit 0 boolean 1b ...

  3. 11月1日上午PHP------empty、 is_null、isset、unset的区别

    1.empty 判断一个变量是否为"空".null.false.00.0.'0′.』.为以上值的变量在检测時都将返回true. 2.isset 判断一个变量是否已经设置.0.00. ...

  4. centos6.7设置非root帐户自动登录

    1.在/etc/gdm/custom.conf文件中修改并加入以下这段 [daemon]AutomaticLogin=你的用户名AutomaticLoginEnable=True 2.重启 reboo ...

  5. 收藏一些好用的fifo

    1.Nordic库中的 E:\nRF52_SDK_0.9.2_dbc28c9\components\libraries\fifo app_fifo.c /* Copyright (c) 2013 No ...

  6. webstorm常用快捷键

    常用快捷键—Webstorm入门 提高代码编写效率,离不开快捷键的使用,Webstorm拥有丰富的代码快速编辑功能,你可以自由配置功能快捷键. 快捷键配置 点击“File”-> “setting ...

  7. 如何在网页中添加“QQ交流”

    今天在撸码时,想到这个问题,有些网页中会有诸如,那么如何在网页添加"QQ交谈"? 第一步.登录QQ: 第二步.打开网页:QQ推广,启用QQ通讯组件: 第三步.选择组件样式,设置提示 ...

  8. [MapReduce] Google三驾马车:GFS、MapReduce和Bigtable

    声明:此文转载自博客开发团队的博客,尊重原创工作.该文适合学分布式系统之前,作为背景介绍来读. 谈到分布式系统,就不得不提Google的三驾马车:Google FS[1],MapReduce[2],B ...

  9. java 环境变量java_home配置多加了 \ 导致zookeeper莫名其妙问题。

    平时开发其实不太用得到java_home.path.classpath之类的环境变量,但是在命令行下运行java则需要用上,所以配错就可能出现莫名其妙错误. 错误JAVA_HOME 配置:D:\Pro ...

  10. 解决 PhpStorm 对 用单例模式实例化PHP类时,代码自动提示功能失效 的问题

    大部分PHP框架中,为了防止一个类被重复实例化,往往采用“单例模式”实例化类.我们的项目框架是这样做的: 先写好一个基类 /framework/Base.class.php,内容如下: <?ph ...