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

时间:2018-06-14 12:40:53

标签: c++ multidimensional-array size

当每个行和列的大小可能不同时,如何确定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 个答案:

答案 0 :(得分:4)

有很多方法

使用模板:

template <typename T, size_t N, size_t M>
void Parser (T (&ch)[N][M])
{

}

答案 1 :(得分:0)

我所做的是,将ch设为vector。我在第一个ch循环中将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.
        }
    }
}