zoukankan      html  css  js  c++  java
  • Visual Studio 2012 Visual C++ 入门

    改进的C++11标准的支持

    标准模板库

    为STL添加了新的库文件:<atomic>、<chrono>、<condition_variable>、<filesystem>、<future>、<mutex>、<radio>和<thread>

    std::vector在VS2010的16字节缩小到VS2012的12个字节,std::map在VS2010中的16字节缩小到VS2012的8个字节。

    其他C++11提高

    基于范围的for循环,支持数组、STL容器和Windows运行时集合。

    无状态的lambda,是从一个空lambda介绍人启动的代码块[]并且不访问局部变量,隐式现在是函数的转换指针作为C++11标准要求。

    范围枚举支持:C++ enum class枚举键现在支持,下面演示与之前的不同

    enum class Element { Hydrogen, Helium, Lithium, Beryllium };
    void func1(Element e);
    func1(Hydrogen); // error C2065: 'Hydrogen' : undeclared identifier
    func1(Element::Helium); // OK

    并行编程的支持

    泛型并行编程增强

    支持asyncchrony和延续的丰富的基于任务的编程模型。参见任务并行(并发运行时)。

    并行算法,支持分叉联接并行度(parallel_for、parallel_for_each、parallel_sort、parallel_reduce、parallel_transform)

    并发安全的容器,提供std数据结构的线程安全版本例如priority_queue、queue、vector和map.

    异步代理库,开发人员可以使用表示数据流管道自然分解为并发单元。

    VC++中的重大修改

    通过/clr编译的代码,enum class关键字定义为 C++ 11 enum,而不是CLR 的 enum。定义CLR的enum,必须限制的指定可访问性,参见下面的例子

    enum class ArrivalStatus // C++11 scoped enum
    {
        Late, OnTime, Early
    };
    
    private enum class DepartureStatus // CLR enum (because of explicit accessibility)
    {
        Late, OnTime, Early
    };
    
    void PrintStatus(ArrivalStatus arrival, DepartureStatus departure)
    {
        Console.WriteLine("Departure: {0}, Arrival: {1}", 
            departure.ToString(), 
            arrival.ToString() // ERROR: not a CLR enum; does not support .ToString()
            );
    }
  • 相关阅读:
    使用纯 CSS 实现响应式的图片显示效果
    10个帮助你快速调试和排错的小技巧
    《JavaScript 实战》:JavaScript 实现拖拽缩放效果
    周末发福利了!26个免费的HTML5模版
    程序人生的四个象限和两条主线
    50份简历设计,助你找到梦寐以求的工作
    6个重构方法可帮你提升 80% 的代码质量
    开发者必须收藏的6款源码搜索引擎
    常用的20个强大的 Sublime Text 插件
    你知道吗?.NET Framework 4.5 五个很棒的特性
  • 原文地址:https://www.cnblogs.com/hbccdf/p/vs2012_induction.html
Copyright © 2011-2022 走看看