代码之家  ›  专栏  ›  技术社区  ›  Ed The ''Pro'' Simon Klee

确定多维数组中的行大小和列大小

  •  1
  • Ed The ''Pro'' Simon Klee  · 技术社区  · 6 年前

    我如何确定 大小 当每个行和列的大小可以变化时,C++中的二维数组?

    我试图使一个函数 Parser 读取数组。到目前为止,我已经:

    // Function:    Parser.
    // Description: First, it reads the data in the array.
    //              Then, it uses the data in the array.
    void Parser (char ch[][]) {
        for (int i = 0; i < (sizeof (ch) / sizeof (ch [0])); ++i) {
            // TO DO - Add content.
        }
    }
    

    数组 ch 可以包含以下元素:

    {
        {
            'v', 'o', 'i', 'd'
        },
    
        {
            'i', 'n', 't'
        },
    }
    

    有办法吗 ?

    2 回复  |  直到 6 年前
        1
  •  4
  •   Atul    6 年前

    有很多方法

    使用模板:

    template <typename T, size_t N, size_t M>
    void Parser (T (&ch)[N][M])
    {
    
    }
    
        2
  •  0
  •   Ed The ''Pro'' Simon Klee    6 年前

    我做的是,我做的 ch vector . 我通过了 中国 迭代器的大小 i 在第一 for 然后循环 ch[i] 迭代器的大小 j .


    这个 新的 代码是:

    // Function:    Parser.
    // Description: First, it reads the data in the vector.
    //              Then, it uses the data in the vector.
    void Parser (vector <vector <char>> ch) {
        for (int i = 0; i < ch.size (); ++i) {
            for (int j = 0; j < ch[i].size (); ++j) {
                // TO DO - Add content.
            }
        }
    }