zoukankan      html  css  js  c++  java
  • 【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;
    }

  • 相关阅读:
    Leetcode 811. Subdomain Visit Count
    Leetcode 70. Climbing Stairs
    Leetcode 509. Fibonacci Number
    Leetcode 771. Jewels and Stones
    Leetcode 217. Contains Duplicate
    MYSQL安装第三步报错
    .net 开发WEB程序
    JDK版本问题
    打开ECLIPSE 报failed to load the jni shared library
    ANSI_NULLS SQL语句
  • 原文地址:https://www.cnblogs.com/ruan875417/p/4495577.html
Copyright © 2011-2022 走看看