1 / 1 / 0
Регистрация: 17.06.2014
Сообщений: 10
|
||||||
1 | ||||||
Можно ли инициализировать динамический массив не используя цикл?08.08.2014, 21:35. Показов 1334. Ответов 17
Метки нет (Все метки)
Когда создавали статический массив, можно было сделать так:
Со строками получается, а с произвольным массивом выдает ошибки.
0
|
08.08.2014, 21:35 | |
Ответы с готовыми решениями:
17
Как инициализировать значениями динамический двумерный массив ? Создать динамический массив объектов, инициализировать его Как правильно инициализировать динамический массив пользовательского класса Можно ли как-то инициализировать массив? |
34 / 34 / 8
Регистрация: 06.04.2014
Сообщений: 189
|
|
08.08.2014, 21:39 | 2 |
А как вы строки инициализировали, можно пример?
0
|
1 / 1 / 0
Регистрация: 17.06.2014
Сообщений: 10
|
||||||
08.08.2014, 21:58 [ТС] | 3 | |||||
0
|
34 / 34 / 8
Регистрация: 06.04.2014
Сообщений: 189
|
|||||||||||
08.08.2014, 22:07 | 5 | ||||||||||
Сообщение было отмечено Tohitch как решение
Решение
А по теме - нет. Можно ручками заполнять каждое число, можно из stl контейнеров или обычных массивов копировать.
Tohitch, Вы присвоили указателю на char адрес первого символа константной строки "Hello world" Нужно делать так:
0
|
1 / 1 / 0
Регистрация: 17.06.2014
Сообщений: 10
|
|
08.08.2014, 22:12 [ТС] | 6 |
Спасибо, до векторов еще не дочитал. А что такое stl контейнер?
0
|
34 / 34 / 8
Регистрация: 06.04.2014
Сообщений: 189
|
|
08.08.2014, 22:17 | 7 |
STL - стандартная библиотека шаблонов c++
Контейнеры - это часть библиотеки, отвечающая за хранение данных. Вектор - один из таких контейнеров. Существует 7 основных контейнеров. Вот краткая информация о них.
1
|
1 / 1 / 0
Регистрация: 17.06.2014
Сообщений: 10
|
|
08.08.2014, 22:19 [ТС] | 8 |
Значит "Hello world" находится не в выделившемся массиве? А где тогда? Простите за глупые вопросы, я полный новичёк в программировании.
0
|
34 / 34 / 8
Регистрация: 06.04.2014
Сообщений: 189
|
|
08.08.2014, 22:22 | 9 |
Лично я без понятия. Уверен, что где-то в стеке в оперативной памяти.
0
|
11 / 11 / 3
Регистрация: 08.03.2014
Сообщений: 70
|
|
08.08.2014, 22:26 | 10 |
Имя любого масива без индексов это указатель на первый элемент. Если конкретнее, то в этой ситуации Nm это указатель на первый элемент в выделеном блоке памяти.
0
|
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
|
|
08.08.2014, 22:31 | 11 |
С чего бы это? http://ideone.com/tILs89
0
|
11 / 11 / 3
Регистрация: 08.03.2014
Сообщений: 70
|
|
08.08.2014, 22:37 | 12 |
0
|
1 / 1 / 0
Регистрация: 17.06.2014
Сообщений: 10
|
|
08.08.2014, 22:44 [ТС] | 13 |
Хм, так можно так делать или нет?
И почему?
0
|
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
|
|
08.08.2014, 22:45 | 14 |
Tohitch, нельзя, используй предложенные выше варианты с copy или strcpy
0
|
18840 / 9839 / 2408
Регистрация: 30.01.2014
Сообщений: 17,281
|
|
08.08.2014, 22:47 | 15 |
2
|
11 / 11 / 3
Регистрация: 08.03.2014
Сообщений: 70
|
|
08.08.2014, 22:48 | 16 |
Сообщение было отмечено Tohitch как решение
Решение
потому что ты копируешь адрес строки, а не саму строку в выделеный блок памяти. Из за этого потом будут пробелмы с delete-ом т.к. будет попытка удаления памяти не из кучи.
1
|
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
|
||||||
08.08.2014, 22:50 | 17 | |||||
во-первых потому что строковый литерал, тогда уж делать так:
1
|
18840 / 9839 / 2408
Регистрация: 30.01.2014
Сообщений: 17,281
|
|
08.08.2014, 22:50 | 18 |
Если речь про строковые литералы, то не на стеке. В секции констант в бинарнике, как правило.
1
|
08.08.2014, 22:50 | |
08.08.2014, 22:50 | |
Помогаю со студенческими работами здесь
18
Как инициализировать динамический массив в отдельной функции? Можно ли создать,инициализировать,использовать массив в 1 строчке Цикл и динамический массив Цикл for и динамический массив Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |