Я новичок в 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;
}
}
Является ли один метод лучше, чем другим, и должен ли я привыкнуть к нему, а не к другому?
благодаря
В c++ вы можете написать
int grid[3][3] = {};
Это достаточно, например, например, как массив [100] = {0} задает весь массив равным 0? и http://www.cplusplus.com/doc/tutorial/arrays/
Мне нравится использовать memset. Это делает код намного приятнее. Оба способа, которые вы предложили, действительны, но являются скорее диалектом C
Более объектно-ориентированный подход мог бы использовать matrix
класс с конструктором. Конечно, в реальном мире вы, вероятно, будете использовать что-то вроде Boost для общего решения.