21 / 21 / 19
Регистрация: 18.03.2014
Сообщений: 148
|
|||||||||||
1 | |||||||||||
Как объявить и инициализировать двумерный массив22.05.2015, 20:46. Показов 3199. Ответов 17
Метки нет (Все метки)
Доброго времени суток, уважаемые форумчане!
Недавно решил постичь ДЗЕН STL-контейнеров C++ и начал с векторов. С одномерными векторами вроде кое-как разобрался, но с двумерными появились траблы. На одном из сайтов видел вот такое объявление:
Видел такое объявление:
Собственно, как разрулить то это дело? Заранее спасибо Добавлено через 9 минут П.С. прошу прощения за отсутствие компетенции по этому вопросу. только начал грызть этот гранит
0
|
22.05.2015, 20:46 | |
Ответы с готовыми решениями:
17
Как объявить указатель на массив через typedef и как инициализировать такой тип Как инициализировать двумерный массив? Как инициализировать значениями динамический двумерный массив ? Как объявить двумерный динамический массив |
204 / 26 / 5
Регистрация: 22.05.2015
Сообщений: 357
|
|
22.05.2015, 21:05 | 2 |
Фигурные скобки могут быть использованы в двух случаях: 1. инициализация сишного статического массива; 2. декларация (довольно условный термин) лексической области видимости.
Для инициализации объектов используются круглые скобки. Линк на источник, если можно.
0
|
265 / 165 / 56
Регистрация: 25.02.2015
Сообщений: 435
|
||||||
22.05.2015, 21:08 | 3 | |||||
Сообщение было отмечено bogdan_017 как решение
Решение
это инфа про старый стандарт. в новом можно в фигурных.
в коде примера ошибка в типе. там вектор, а не вектор векторов. правильно:
вот тут компилятор умеет жрать такую инициализацию: http://cpp.sh/7j56
2
|
204 / 26 / 5
Регистрация: 22.05.2015
Сообщений: 357
|
|
22.05.2015, 21:16 | 4 |
Perfilov, как бы operator= не конструктор. Значит это не инициализация. Я так рассуждаю. ???
0
|
265 / 165 / 56
Регистрация: 25.02.2015
Сообщений: 435
|
|
22.05.2015, 21:17 | 5 |
не совсем. в случае объявления переменной вызывается конструктор не смотря на то, что там = стоит.
0
|
204 / 26 / 5
Регистрация: 22.05.2015
Сообщений: 357
|
|
22.05.2015, 21:38 | 6 |
хотелось бы пруфлинк, я раньше cplusplus dot com пользовался, но вижу что он уже не актуален.
0
|
55 / 56 / 34
Регистрация: 29.12.2012
Сообщений: 478
|
|
22.05.2015, 21:42 | 7 |
Исходя из собственного мизерного опыта 3 дня начала изучения питона(так отвлечся чет хотелось) помогли понять саму религию STL как самые популярные веши устроенны...но не с кажу что до этого не знал теорию
0
|
18900 / 9858 / 2410
Регистрация: 30.01.2014
Сообщений: 17,301
|
||||||
22.05.2015, 21:43 | 8 | |||||
Пользоваться надо этим.
12.6.1/1
1
|
204 / 26 / 5
Регистрация: 22.05.2015
Сообщений: 357
|
||||||
22.05.2015, 21:45 | 9 | |||||
0
|
DrOffset
|
22.05.2015, 21:48
#10
|
0
|
21 / 21 / 19
Регистрация: 18.03.2014
Сообщений: 148
|
|
22.05.2015, 22:04 [ТС] | 11 |
cybercitizen, вы просили линк на источник. http://cppstudio.com/post/8670/, только там string, а не int. Хотя в принципе не существенно.
Добавлено через 10 минут Так тоже ругается.
0
|
2443 / 1841 / 406
Регистрация: 15.12.2013
Сообщений: 8,238
|
|
22.05.2015, 22:07 | 12 |
bogdan_017, какой у вас компилятор?
0
|
204 / 26 / 5
Регистрация: 22.05.2015
Сообщений: 357
|
|
22.05.2015, 22:15 | 13 |
надо указать ключик стандарта http://ideone.com/HUD2Oz
0
|
21 / 21 / 19
Регистрация: 18.03.2014
Сообщений: 148
|
||||||||||||||||
22.05.2015, 22:17 [ТС] | 14 | |||||||||||||||
cybercitizen, S_el, я вот об этом тоже задумался минут 10 назад. Я тренировался на билдере 6-ом. Попробовал запустить на VS 2013 Ultimate. Стало компилироваться это:
0
|
204 / 26 / 5
Регистрация: 22.05.2015
Сообщений: 357
|
|
22.05.2015, 22:20 | 15 |
тебе уже говорили что тип неправильно указан. http://ideone.com/g6ikLG
0
|
18900 / 9858 / 2410
Регистрация: 30.01.2014
Сообщений: 17,301
|
|
22.05.2015, 22:20 | 16 |
0
|
21 / 21 / 19
Регистрация: 18.03.2014
Сообщений: 148
|
|
22.05.2015, 22:35 [ТС] | 18 |
cybercitizen, хм.. если я правильно понял, в случае со строками, мы используем одномерный вектор и храним тип string, а он по сути уже и является одномерным массивом. Таким образом получаем двумерный символьный массив (условно).
А в случае с int получается то же, что и в обычном динамическом массиве (сначала создаем массив указателей, а затем в каждый указатель инициализируем, как указатель на одномерный массив) Добавлено через 4 минуты Kerry_Jr, спасибо, я, кажется уже разобрался и немного прослоупочил со своим сообщением)
0
|
22.05.2015, 22:35 | |
22.05.2015, 22:35 | |
Помогаю со студенческими работами здесь
18
Как объявить многомерный массив и сразу инициализировать его? Как инициализировать двумерный массив с клавиатуры? Объявить массив, но не инициализировать его Как инициализировать двумерный массив с ASCII файла ? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |