![]() |
|
Модераторы: feodorv, GremlinProg, xvr, Fixin |
![]()
|
|
| Lazin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re Репутация: 8 Всего: 154 |
ты что, и на шарпе так пишешь?
твой map map-ов и map vector-ов должны что-то означать, к примеру vector содержит список жильцов дома, а map - список домов, по их номерам, ну так кто тогда мешает написать
вместо того, что-бы городить такое: std::map< int, std::vector<std::string> >... и на шарпе это будет выглядеть не менее ужасно - Dictionary<int, List<String>> city; Это сообщение отредактировал(а) Lazin - 23.6.2009, 14:18 |
|||
|
||||
| Killerman |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 137 Регистрация: 26.10.2007 Репутация: нет Всего: нет |
azesmcar
ну так я ж об этом написал. Но динамическая память всеравно выделятеся в mmap m, только она скрыта в реализации mmap (НЕЯНАЯ для пользователя). А ЯВНАЯ, это когда открыто создаешь объект через new. ну вектор векторов и меп мепов, или еще хуже мем мепов векторов часто нужно в задачах, к примеру синтаксического анализа, динамического построения таблиц, разпознавания и т.д. Короче нада мне А по поводу динамической памяти - я как раз за. Только вот сложно с ней в приложениях для win32. Если б как то увязать win32 обрабоку оконных месседжей и NET классы. Но это похоже нереально. |
|||
|
||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 5 Всего: 211 |
||||
|
||||
| Killerman |
|
||||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 137 Регистрация: 26.10.2007 Репутация: нет Всего: нет |
Lazin
На шарпе оно токо в объявлении ужасно. А при работе потом очень даже.
Ну оно то да, но только красивая обертка. И классы создавать новые. Хотя. может. azesmcar
|
||||||
|
|||||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 5 Всего: 211 |
http://www.codeproject.com/KB/cs/unmanage.aspx http://www.codeproject.com/KB/dotnet/managed_unmanaged.aspx |
|||
|
||||
| xvr |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 40 Всего: 223 |
В C++ динамическая память ГОРАЗДО хуже, чем в С# по той простой причине, что в C++ нет GC. Любая ошибка в new/delete приведет к утечке памяти или трудноуловимым ошибкам. В .net это проще - нужна память - выделил, не нужна - бросил как есть, система сама подберет
В stl контейнерах с динамической памятью проще - там слежение за ней берет на себя библиотека (stl), а значит ошибится здесь гораздо сложнее (хотя при большом желании можно Если нужно работать с динамически создаваемыми контейнерами и/или объектами, можно применить boost::shared_ptr, но лучше проектировать систему так, что бы такой необходимости не возникало |
|||
|
||||
| Killerman |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 137 Регистрация: 26.10.2007 Репутация: нет Всего: нет |
а де это буст качнуть? и хелп на нево.
|
|||
|
||||
| xvr |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 40 Всего: 223 |
www.boost.org Help на него в комплекте с ним
|
|||
|
||||
| Killerman |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 137 Регистрация: 26.10.2007 Репутация: нет Всего: нет |
спасибо.
Кстати с map<> как то можно узнать значение в ячейке, без проматывания всего списка через итераторы? ну там типа, какое значение в ячейке m[100]. |
|||
|
||||
| azesmcar |
|
||||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 5 Всего: 211 |
|
||||
|
|||||
| Killerman |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 137 Регистрация: 26.10.2007 Репутация: нет Всего: нет |
Такое я знаю.
Хотелось ... = map[100] |
|||
|
||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 5 Всего: 211 |
||||
|
||||
![]()
|
| Правила форума "C/C++: Системное программирование и WinAPI" | |
|
|
На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы . Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |