Skip to content

Instantly share code, notes, and snippets.

@wen-long
Last active August 29, 2015 14:03
Show Gist options
  • Save wen-long/bfc00c9818a056071072 to your computer and use it in GitHub Desktop.
Save wen-long/bfc00c9818a056071072 to your computer and use it in GitHub Desktop.

###C++ Primer第5版 学习笔记

####第五章

  1. 复合语句也被称作块,一个块就是一个作用域,名字的有效区域始于声明语句,终于声明语句所在的作用域末端

  2. case 标签之后不一定必须换行,几个 case 标签可以写在一行

    switch (ch) {
        case 'a': case 'e': case 'i': case 'o': case 'u':
        ++vowelCnt;
        break;
    }
    
  3. switch 内部定义变量时,不允许跨过变量的初始化语句直接跳到该变量作用域的另一个位置,需要为某 case 定义并初始化变量时,应在块中定义,这样,其他 case 语句就在这些变量的作用域之外了.

  4. for 语句的 init-statement 只能有一条声明语句,因此,定义多个对象时,基础类型必须相同.

  5. const auto & 和 begin

    for(auto &i : {1,2,3}) {
    	// ++i;//const auto &
    	cout << i;
    }
    begin({1,2,3})//合法
    
  6. goto 语句和控制权转向的那条带标签的语句必须在同一函数内,和 switch 语句一样,goto 不能从变量的作用域之外转移到作用域之内

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment