• A题笔记(9)


    No.2283

    No.1387

    vector<vector<char> > before, after;

    可以创建一个容器的容器,注意 char 后的两个 “>” ,之间必须有一个空格,否则会被当做是右移操作 “>>” 来处理。

    如何向一个容器的容器传值呢,可以参照以下方法:

        int n;
    
        cin>>n;
    
        vector<vector<char> > before;
        vector<char> oneline;
        char tmp;
        int i, j;
    
        for(i=0; i<n; i++)
        {
            oneline.clear();
            for(j=0; j<n; j++)
            {
                cin>>tmp;
                oneline.push_back(tmp);
            }
            before.push_back(oneline);
        }

    每次使用容器 oneline 时,必须对其进行清空 oneline.clear(),一行输入完成后便可以将其整个传入容器的容器中。

    如果要将容器作为参数传递给函数,不能直接将容器作为变量,而是选择传递 指向容器中需要处理的元素的迭代器来传递容器:

    vector<vector<char> >::iterator b=before.begin(), a=after.begin();
    
    check1(b, a, n);
    int check1(vector<vector<char> >::iterator before, vector<vector<char> >::iterator after, int n)
    {
        int i, j;
    
        for(i=0; i<n; i++)
            for(j=0; j<n; j++)
                if(before[i][j]!=after[j][n-1-i])
                    return 0;
    
        return 1;
    }

    迭代器在函数中完全可以当做是容器本身来使用。

        switch (lk)
        {
        case 0: case 1: case 2:
            cout<<"You are a Foolish Man";
            break;
        case 3:
            cout<<"You are on a Killing Spree";
            break;
        default:
            cout<<"You are Beyond Godlike (Somebody kill him!)";
            break;
        }

    switch 中的每一个 case 标号的值都必须是一个 “常量表达式” 

    形如: case check1(...): 编译时会错误。

  • 相关阅读:
    动态投影
    我的比较差的初级的研究成果
    我最近的研究成果(IGeometry.Project and IGeometry.SpatialReference)
    mysql中的数据类型以及常见约束
    面向对象——多态
    java基础
    java中的异常(3)
    mysql中的数据类型
    面向对象——继承
    java中的异常(2)
  • 原文地址:https://www.cnblogs.com/LeoGodfrey/p/3518660.html
Copyright © 2020-2023  润新知