Вы, конечно, можете инициализировать их все сразу, хотя это звучит как много утомительного печатания:
float terms[256][4] = {
{ 0, 0, 3, 1 },
{ 0, 0, 13, 1 },
{ 0, 0, 3, 2}
...
};
Я упростили его до массива 256 4-го элемента массивов, для простоты. Если вы хотите, чтобы действительно выразить предполагаемый вложенности, что, конечно, приятно, что вам нужно сделать:
float terms[256][2][2] = {
{ { 0, 0 }, { 3, 1 } },
{ { 0, 0 }, { 13, 1 } },
{ { 0, 0 }, { 3, 2 }}
...
};
Это будет 256 строк, каждая из которых имеет «список» двух «списков» поплавков. Каждому списку нужны скобки. Но, так как C++ поддерживает подавление брекетов в таких вещах, как это, вы могли бы также сделать:
float terms[256][2][2] = {
{ 0, 0, 3, 1 },
{ 0, 0, 13, 1 },
{ 0, 0, 3, 2}
...
};
В самом деле, можно даже удалить скобки в каждой строке, они по желанию тоже. Я считаю, что полагаться на подавление слегка теневое.
Если вы хотите использовать типы более высокого уровня, чем вложенный массив из float
(например, тип Matrix<2,2>
или что-то еще), инициализация может стать сложнее.
спасибо, однако я не совсем понимаю последний пример. , какими будут детексы, например. для термина 13 в этом случае? было бы [2] [3] или [2] [2] [1] – 2009-11-03 12:44:00
Индексы в C и C++ начинаются с 0. Это будут термины [1] [1] [0]. – unwind
о да, мой плохой ... Спасибо ... – 2009-11-03 13:01:12