![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| vdm |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 236 Регистрация: 16.10.2007 Репутация: нет Всего: нет |
|
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
а что ты пытаешжся сделать то?? malloc в С++ не к лицу |
|||
|
||||
| Mayk |
|
|||
![]() ^аВаТаР^ сообщение>> ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2616 Регистрация: 22.5.2005 Где: за границей разум а Репутация: 45 Всего: 134 |
+1. malloc не вызывает конструкторы(ибо в си с ними напряг) или мы что-от пропустили и string тут не std::string -------------------- Здесь был кролик. Но его убили. Человеки < кроликов, йа считаю. |
|||
|
||||
| vdm |
|
||||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 236 Регистрация: 16.10.2007 Репутация: нет Всего: нет |
Я пытаюсь создать двумерный a[10][10] массив с помощью динамической памяти, который будет хранить значения типа std::string и позже присвоить первому элементу массива значение "привет" на пример. Не могли бы рассказать подробней, почему malloc здесь не к месту и как можно реализовать желаемое? Спасибо Добавлено @ 06:55
mes, клоните к тому, что следует воспользеваться new/delete? На самом деле, с их помощью, мне удалось добиться желаемого.
Ho не до конца понимаю, почему не удаётся с malloc Это сообщение отредактировал(а) vdm - 23.5.2008, 07:06 |
||||||
|
|||||||
| bronislav |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 334 Регистрация: 29.1.2008 Где: Украина::Донецк Репутация: нет Всего: 3 |
дело в том, что mallo не вызывает конструкторов, а соответственно память в std::string не выделяется
-------------------- ![]() иногда проще и быстрей обойти лужу, даже если кажется что она мелкая и путь напрямик короче - ведь она может скрывать открытый люк (с) mes |
|||
|
||||
| vdm |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 236 Регистрация: 16.10.2007 Репутация: нет Всего: нет |
Можно ли помощью malloc как либо выделить память двумерному массиву под значения элементов типа std::string? |
|||
|
||||
| Mayk |
|
|||
![]() ^аВаТаР^ сообщение>> ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2616 Регистрация: 22.5.2005 Где: за границей разум а Репутация: 45 Всего: 134 |
можно использоваь placement new. только нафик не надо. потому что free() деструкторов тоже не вызывает (о ужас) -------------------- Здесь был кролик. Но его убили. Человеки < кроликов, йа считаю. |
|||
|
||||
| bronislav |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 334 Регистрация: 29.1.2008 Где: Украина::Донецк Репутация: нет Всего: 3 |
Ибо -------------------- ![]() иногда проще и быстрей обойти лужу, даже если кажется что она мелкая и путь напрямик короче - ведь она может скрывать открытый люк (с) mes |
|||
|
||||
| Mayk |
|
|||
![]() ^аВаТаР^ сообщение>> ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2616 Регистрация: 22.5.2005 Где: за границей разум а Репутация: 45 Всего: 134 |
ибо деструкторы придеццо вызывать в ручную. а нафига такой изврат если можно всё сделать нормальным new[]/delete[]ом? -------------------- Здесь был кролик. Но его убили. Человеки < кроликов, йа считаю. |
|||
|
||||
| vdm |
|
||||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 236 Регистрация: 16.10.2007 Репутация: нет Всего: нет |
А как правильно уничтожить выделеную память в этом случае?
|
||||||
|
|||||||
| Mayk |
|
|||
![]() ^аВаТаР^ сообщение>> ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2616 Регистрация: 22.5.2005 Где: за границей разум а Репутация: 45 Всего: 134 |
надо примерно так
а ещё можно зазать std::vector<std::vector<std::string> >. тогда вообще он все заботы по памяти на себя возьмёт -------------------- Здесь был кролик. Но его убили. Человеки < кроликов, йа считаю. |
|||
|
||||
| vdm |
|
||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 236 Регистрация: 16.10.2007 Репутация: нет Всего: нет |
Thnx. |
||||
|
|||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |