C ++ Array of Arrays, определяющий части отдельно - PullRequest
3 голосов
/ 10 мая 2011

Я пытаюсь создать массив массивов, содержащий 2 списка строк (один в единственном числе и один во множественном числе).

string item_name[2][6];
string item_name[0] = {"bag of CinnaCandies", "can of Arizona Tea", "Starbucks Mocha Frappe", "copy of Section 8: Prejudice", "Sushi Box", "pair of Nike Jordans"};
string item_name[1] = {"bags of CinnaCandies", "cans of Arizona Tea", "Starbucks Mocha Frappes", "copies of Section 8: Prejudice", "Sushi Boxes", "pairs of Nike Jordans"};

Я не знаю правильный синтаксис для этого, и я хотел бы сохранить его в виде массива из 2 массивов, чтобы я мог иметь код, который говорит:

if (quantity > 1)
    {
        cout << item_name[0][index];
    }
    else
    {
        cout << item_name[1][index];
    }

Спасибо. :)

Ответы [ 3 ]

6 голосов
/ 10 мая 2011

Вы на правильном пути. Вам просто нужно одно объявление и вложить скобки, чтобы у вас был массив массивов:

string item_name[2][6] = {{"bag of CinnaCandies", "can of Arizona Tea",
                           "Starbucks Mocha Frappe", "copy of Section 8: Prejudice",
                           "Sushi Box", "pair of Nike Jordans"},
                          {"bags of CinnaCandies", "cans of Arizona Tea", 
                           "Starbucks Mocha Frappes", 
                           "copies of Section 8: Prejudice", "Sushi Boxes", 
                           "pairs of Nike Jordans"}};
2 голосов
/ 10 мая 2011

Оба ответа выше верны. Кроме того, вы также можете использовать что-то вроде этого:

vector<string> item_name[2];

Таким образом, у вас все еще есть массив «массивов», но размер подмассива не фиксирован, поэтому вы можете продолжать добавлять столько записей, сколько вам нужно.

И, конечно, вы также можете использовать обозначение

item_name[0][index];

Чтобы получить элемент "index" в первом массиве верхнего уровня.

2 голосов
/ 10 мая 2011

Инициализируется нормально, но вместо обычной константы вы используете подмассив:

string item_name[2][6] = {
    {"bag of CinnaCandies", "can of Arizona Tea", "Starbucks Mocha Frappe", "copy of Section 8: Prejudice", "Sushi Box", "pair of Nike Jordans"},
    {"bags of CinnaCandies", "cans of Arizona Tea", "Starbucks Mocha Frappes", "copies of Section 8: Prejudice", "Sushi Boxes", "pairs of Nike Jordans"}
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...