• 【c++ primer读书笔记】【第5章】语句


    1.switch语句

    case关键字和它对应的值一起被称为case标签,case标签必须是整型常量表达式。

    int val=42;
    char ch;
    while(cin>>ch){
          switch(ch){
    	   case 3.14: //错误,case标签不是一个整数
    	   case val: //错误,case标签不是一个常量
               //...
    	}
    }
    switch的执行流程有可能跨过某些case标签。如果程序跳转到了某个特定的case,则switch结构中该case标签前的部分会被忽略。如果某处一个带有初值的变量位于作用域外,在另一处该变量位于作用域内,则从前一处跳转到后一处的行为是非法行为。
    case true:
        string file_name;  //错误:控制流绕过一个隐身初始化的变量
        int val1=0;        //错误:控制流绕过一个显式初始化的变量
        int val2;          //正确:val2没有初始化
        break;
    case false:
        val1=3;            //错误:val1的初始化操作由“case”标签跳过
        val2=9;            //正确:给val2赋值
        break;

    2. 范围for语句

    c++新标准引入,这种语句可以遍历容器或序列的所有元素

    范围for语句的语法形式是:

    for(declaration:expression)
        statement

    experssion表示一个序列(如数组、vector或string等类型的对象),declaration定义一个变量,序列中的每个元素都能转换成该变量的类型。

    #include<iostream>
    #include<vector>
    using namespace std;
    
    int main(){
    	 vector<int> vec = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
    	 for (auto &v : vec)     //对于vec中的每一个元素
    		 cout << v << " ";
    	 cout << endl;
    
    	 system("pause");
    	 return 0;
    }

  • 相关阅读:
    猎户、双子、英仙
    第二卦,还叫我保持现状?
    昨晚的第三卦,就快万劫不复了
    明天要出去办事,看看情况
    luogu P3939 数颜色 |vector
    luogu P2701 [USACO5.3]巨大的牛棚Big Barn |动态规划
    luogu P2345 奶牛集会 |排序+树状数组
    luogu P4943 密室 |最短路
    luogu P4343 [SHOI2015]自动刷题机 |二分答案
    luogu P3110 [USACO14DEC]驮运Piggy Back |最短路
  • 原文地址:https://www.cnblogs.com/ruan875417/p/4495577.html
Copyright © 2020-2023  润新知