C ++ 2D-Array Query

0

Я новичок в C++, но раньше у меня был опыт с такими языками, как java, и я начинаю с простой командной игры Xs и Os. Когда дело дошло до создания сетки, я обнаружил, что могу инициировать ее двумя разными способами:

int grid[3][3] = {{0, 0, 0 },
                  {0, 0, 0 },
                  {0, 0, 0 }};

а также:

int grid[3][3];
for (int x = 0; x < 3; ++x)
{
    for (int y = 0; y < 3; ++y)
    {
        grid[x][y] = 0;
    }
}

Является ли один метод лучше, чем другим, и должен ли я привыкнуть к нему, а не к другому?

благодаря

Теги:
multidimensional-array

2 ответа

2
Лучший ответ

В c++ вы можете написать

int grid[3][3] = {};

Это достаточно, например, например, как массив [100] = {0} задает весь массив равным 0? и http://www.cplusplus.com/doc/tutorial/arrays/

0

Мне нравится использовать memset. Это делает код намного приятнее. Оба способа, которые вы предложили, действительны, но являются скорее диалектом C Более объектно-ориентированный подход мог бы использовать matrix класс с конструктором. Конечно, в реальном мире вы, вероятно, будете использовать что-то вроде Boost для общего решения.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню