1.4中不同初始化的形式
    a.string s("zhl")、int i(3);    //括号初始化
    b.string s="zhl"、int i= 3;      //等号初始化 
    c.int arr[4] = {1,2,3,4}、struct tm today ={0};    //POD数据用大括号 
    d.struct s { int x; s(): x(0){}};  //构造函数成员初始化;
2.C++03 中不能初始化 POD 数组的类成员,也不能在使用 new[] 的时候初始 POD 数组,C++ 11终于用大括号统一了;
  ps: POD:http://www.cnblogs.com/viscount/p/5842895.html
3. 对于结构数据,直接初始化;
   class C
 {
 int a;
 int b;
 public:
  C(int i, int j);
 };
 C c {,}; //C++11 only. 相当于 C c(0,0);
 ] { , ,  }; /C++ only
 class X {
   ];
 public:
   X() : a{,,,} {} //C++11, 初始化数组成员
 };
4.对于容器来说,也不要用push_back()
 // C++11 container initializer
 vector vs<string>={ "first", "second", "third"};
 map singers =
   { {"Lady Gaga", "+1 (212) 555-7890"},
     {"Beyonce Knowles", "+1 (212) 555-0987"}
    };

5.类中也可以直接初始化;

 class C
 {
  ; //C++11 only
 public:
  C();
 };
6.扩展
class A{ int c; };
int  main()
{
    A *w = new A;        //new完之后的c未初始化;
    A  *x = new A();     //new完之后的c已初始化;
}
C++03存着这种奇怪的问题,让你有的时候用的很不放心;所以尽情用C++11吧!

C++ 11 之初始化的更多相关文章

  1. C++11 列表初始化

    在我们实际编程中,我们经常会碰到变量初始化的问题,对于不同的变量初始化的手段多种多样,比如说对于一个数组我们可以使用 int arr[] = {1,2,3}的方式初始化,又比如对于一个简单的结构体: ...

  2. c++11——列表初始化

    1. 使用列表初始化 在c++98/03中,对象的初始化方法有很多种,例如 int ar[3] = {1,2,3}; int arr[] = {1,2,3}; //普通数组 struct A{ int ...

  3. c++11的初始化

    c++11 中类型初始更加方便 比如     vector<int> vec = {1,2,3}; vector<int> vec{1,2,3}; map<string, ...

  4. C++11的初始化列表

      初始化是一个非常重要的语言特性,最常见的就是对对象进行初始化.在传统 C++ 中,不同的对象有着不同的初始化方法,例如普通数组.POD (plain old data,没有构造.析构和虚函数的类或 ...

  5. c++11之初始化列表

    一.前言     C++的学习中.我想每一个人都被变量定义和申明折磨过,比方我在大学笔试过的几家公司.都考察了const和变量,类型的不同排列组合,让你差别有啥不同.反正在学习C++过程中已经被折磨惯 ...

  6. Loadrunner 11.00 初始化失败; 通信错误。 Error (-81024): LR_VUG: The 'WS_SOAP' type is not supported on 'WIN32' platforms .

    搜索LR安装目录bin文件夹下有个“wlrun.exe”的文件,邮件点击“属性”->"兼容性"->兼容模式中选择“windows 7”,确认后重新打开即可,win10下 ...

  7. DirectX 11的初始化

    总体来说可以概括为以下几个步骤: 创建Device和Context 创建SwapChain 为BackBuffer创建View 创建Depth/Stencil Buffer,并为之创建View 将Vi ...

  8. C++11初始化列表

    [C++11之初始化列表] 在C++03中,在严格遵守POD的定义和限制条件的结构及类型上可以使用初始化列表(initializer list),构想是结构或是数组能够依据成员在该结构内定义的顺序通过 ...

  9. C++11新特性——大括号初始化

    C++11之前,C++主要有以下几种初始化方式: //小括号初始化 string str("hello"); //等号初始化 string str="hello" ...

随机推荐

  1. centos 服务器配置(三) 之定时任务

    有些liunx系统已经自带定时任务crontab,但是有的新装系统还未安装定时任务,这个时候就需要我们手动对其进行安装. 安装crontab: yum install crontabs 说明: /sb ...

  2. 堆排序-C语言实现

    堆排序 堆排序是利用堆的性质进行的一种选择排序.下面先讨论一下堆. 1.堆 堆实际上是一棵完全二叉树,其任何一非叶节点满足性质: Key[i]<=key[2i+1]&&Key[i ...

  3. Java String Class Example--reference

    reference:http://examples.javacodegeeks.com/core-java/lang/string/java-string-class-example/ 1. Intr ...

  4. iOS tabbar 控制器基本使用

    RootViewController *rootVC=[[RootViewController alloc] init] SignInViewController *signVC = [[SignIn ...

  5. android refbase类

    在Android的源代码中,经常会看到形如:sp<xxx>.wp<xxx>这样的类型定义,这其实是Android中的智能 指针.智能指针是C++中的一个概念,通过基于引用计数的 ...

  6. Tomcat内存设置详解

    Java内存溢出详解 一.常见的Java内存溢出有以下三种: 1. java.lang.OutOfMemoryError: Java heap space ----JVM Heap(堆)溢出 JVM在 ...

  7. Scoket

    1.Socket 几个常用的名词 IPC—>Inter Process Communication,进程间通信 socket —> 套接字 TCP—>Transmission Con ...

  8. Ios入门

    storyboard 文件的认识 用来描述软件界面 默认情况下程序启动就会加载Main.storyboard 加载storyboard时,会首先创建和显示箭头所指向的控制器界面 什么是UIscroll ...

  9. 重构18-Replace exception with conditional(条件替代异常)

    重构没有什么出处,是我平时经常使用而总结出来的.欢迎您发表任何改进意见或建议.我相信一定还有其他比较好的重构可以解决类似的问题.  我曾无数次面对的一个代码坏味道就是,使用异常来控制程序流程.您可能会 ...

  10. css+div网页设计(一)--基础知识

    css是网页制作不可缺少的部分,我会用三篇博客为大家展示css的基本用法. 关于css+div的整体结构图总结如下: 本篇博客主要介绍css的基础知识. 一.css概念; css(级联样式表):它是一 ...