Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Религиозные войны > Типизированые шаблонные колекции


Автор: Rapalex 17.10.2006, 16:46
Раньше я писал так:
Код

CTypedPtrArray <CObArray, CEntity*> m_arPtrEntity;


а теперь залез в хелп и был удевлён как это я раньше не заметил, написал так:
Код

CTypedPtrArray <CPtrArray, CEntity*> m_arPtrEntity;


И не понял в чём разница, что я выиграл при смене родительского класса?

Добавлено @ 16:59 
Только что заметил что списки и масивы указателей не могут сериализоваться!

Автор: Любитель 19.10.2006, 15:37
CTypedPtrArray - просто обёртка для CObArray и CPtrArray.
Первый хранит указатели на CObject, а второй - любые указатели.
Из-за этого в первом больше возможностей, а у второго меньше ограничений на хранимые элементы.

Моё личное мнение - эти классы абсолютно не нужны. Стандартная библиотека значительно мощнее и удобнее.

Автор: Rapalex 20.10.2006, 12:53
Спасибо.

А мне лично рнравится в этих классах сериализация (в одну строчку).

Автор: Rapalex 20.10.2006, 13:59
Спасибо.
Цитата(Любитель @  19.10.2006,  15:37 Найти цитируемый пост)
 Стандартная библиотека значительно мощнее и удобнее.
однако сериализация в одну строчку меня привлекает smile

Автор: Earnest 20.10.2006, 17:14
Совершенно нетрудно написать то, что нужно для сериализации стандартных контейнеров в одну строчку, самому.

Автор: Rapalex 23.10.2006, 16:32
Не знаю не буду говорить.  smile 

Автор: Любитель 24.10.2006, 16:39
Что-то на основе
Код

std::ofstream f;
std::vector<...> v;
// ...
f << v.size();
std::copy(v.begin(), v.end(), ...);

 smile 

Заметь у тебя в руках куча стандартных алгоритмов. Привыкнув ими пользоваться, поймёщшь их мощь

Автор: Rapalex 26.10.2006, 10:44
Да мне не нравится названия методов с маленькой буквы  smile 

Автор: Любитель 28.10.2006, 14:33
Тогда тебя придётся переходить к дотнетичкам  smile 

Автор: Rapalex 30.10.2006, 12:10
Уже начял  smile 

Автор: Любитель 31.10.2006, 17:13
Цитата(Rapalex @  30.10.2006,  12:10 Найти цитируемый пост)
Уже начял  

 smile 

Автор: Rapalex 1.11.2006, 16:33
И ничего такого грустного, прлосто ниадной класной библтотеки для нейтив кода нет...

Автор: Любитель 2.11.2006, 10:16
Да ну тебя:
1. Стандартная библиотека
2. Boost
3. Qt
Неужели мало  smile 

Автор: Rapalex 3.11.2006, 16:57
QT - платная и не очень уж и хороша, её же мелькософт делает, значит всегда отсовать будет

Сандартная - это не виндовые гуи

а про Boost впервые слышу  smile 

Автор: En_t_end 3.11.2006, 20:46
Цитата(Rapalex @  3.11.2006,  20:57 Найти цитируемый пост)
QT - платная и не очень уж и хороша, её же мелькософт делает, значит всегда отсовать будет

А Трольтех MFC делает, поэтому всё же её юзай smile smile smile

Автор: Любитель 4.11.2006, 12:03
Во-первых, Rapalex, ты говорил не про ГУИ-либы, а про либы как таковые.
Во-вторых, если Qt делает мелкософт, то trolltech, наверно, правда пишет MFC и .Net Framework.
В-третьих, оупен-сорсная версия Qt бесплатна. Правда, компилер (официально разрешённый) для винды только MinGW. Но для личного пользования/обучения по-моему MinGW + Eclipse + Qt Open Source Edition - это отличный выбор. Есть ещё Qt Learning Edition (или что-то типа того). Для комерческих же продуктов - можно и купить. Она того стоит. плюс существуют нелегальные версии...
В-четвёртых, что в .Net лучше, чем в Qt? Разве что то, что .Net не MS делает, ах да забыл  smile 

Автор: Rapalex 16.11.2006, 17:16
MFC - вообще не работо способна когда необходимо отойти от архитектуры документ-вид.
Короче её давно пора переписать, и полегче сделать.

Добавлено @ 17:18 
Не говоря о тулбарах с 16 цветами  smile 

Автор: Rapalex 16.11.2006, 17:35
Мнебы библиотеку которую мелькософт делает, ну на чемто же они блокнот с эксплорером написали!!!

Автор: Rapalex 17.11.2006, 17:12
Любитель, та я не понял кто делает MFC, .NET, QT?
мне лтчно во многом нравится Visual С++, и среда разработки VS 2005, тожк очень удобна, особенно со стороны отладки...

Автор: Любитель 20.11.2006, 15:40
Дык что всё-таки в кутехе не устраивает?

Автор: mr.DUDA 21.11.2006, 14:30
Rapalex, как бывший MFC-шник, ответственно заявляю: MFC-шные контейнеры хороши только до определённого момента. Во-первых, STL быстрее. Во-вторых, возможностей в нём больше на порядок, и рано или поздно в это придётся упереться и признать (спасибо DENNN-у, который в своё время наставил на путь истинный smile).. В-третьих, сериализация в MFC сделана через ужасный изврат, см. http://forum.vingrad.ru/index.php?act=module&module=vingradfaq&target=main_panel&article=2431. В-четвёртых, в .NET есть своя сериализация (бинарная, XML, или вообще своя), так что переходи на C# smile

З.Ы. кстати, названия методов с маленькой буквы - не такое большое зло, чтобы из-за этого не юзать STL

Автор: Rapalex 21.11.2006, 15:49
Цитата(mr.DUDA @  21.11.2006,  14:30 Найти цитируемый пост)
.NET есть своя сериализация (бинарная, XML, или вообще своя)
 Знаю, читал, пробывал юзать, понравилось.

Цитата(mr.DUDA @  21.11.2006,  14:30 Найти цитируемый пост)
сериализация в MFC сделана через ужасный изврат
 Согласен! Я на рсдене прочитал про енто.

Цитата(mr.DUDA @  21.11.2006,  14:30 Найти цитируемый пост)
STL быстрее

Не знал, спс.

У меня просьба, нет у меня возможности так много ради пробы тянуть с нета, кто нибудь выложите на форуме и ли на мыло мне вышлите экзешник с диалоговым приложением, чтоб на нём были основные 
контролы (кнопка, эдит и т.д.). Желателльно с интерфейсом ХР. Хочю посмотреть какие классы окон создаются. Спасибо.

Автор: Любитель 21.11.2006, 17:34
mr.DUDA, у нас есть boost:serialization: 
Цитата(mr.DUDA @  21.11.2006,  14:30 Найти цитируемый пост)
бинарная, XML, или вообще своя


Добавлено @ 17:35 
Цитата(Rapalex @  21.11.2006,  15:49 Найти цитируемый пост)
У меня просьба, нет у меня возможности так много ради пробы тянуть с нета, кто нибудь выложите на форуме и ли на мыло мне вышлите экзешник с диалоговым приложением, чтоб на нём были основные 
контролы (кнопка, эдит и т.д.). Желателльно с интерфейсом ХР. Хочю посмотреть какие классы окон создаются. Спасибо. 

Извини, не понял - насчёт чего это?

Добавлено @ 17:42 
К модераторам: тему надо переименовать - не туда полезло  smile 

Автор: mr.DUDA 21.11.2006, 19:23
Цитата(Любитель @  21.11.2006,  16:34 Найти цитируемый пост)
у нас есть boost:serialization


У-у. Круто. Почитал доки, сложновато для начала, но в примере demo.cpp всё довольно просто.

Оставайся, Rapalex, под плюсами smile...

Автор: Rapalex 22.11.2006, 13:18
Цитата(Любитель @  21.11.2006,  17:34 Найти цитируемый пост)
Извини, не понял - насчёт чего это?

Перефразирую. Ктонибудь у кого есть пиратская версия QT (если можно вышлите ссылочку) или открытая, соберите приложение со стондартными элементами управления и вышлите мне, хотелось бы чтоб экзешник ни отчего не зависел, т.е., у меня запустился.

Добавлено @ 13:21 
И на Boost если можно.

Спасибо...

Автор: Rapalex 22.11.2006, 15:29
А кто знает GDI+ это от кого мошло, только от .нет, или им в нейтив коде тоже можно юзать?

Автор: mr.DUDA 22.11.2006, 21:41
Rapalex, один топик - один вопрос, а то у тебя мысль пошла по неевклидовой кривой  smile 

Цитата(Rapalex @  22.11.2006,  14:29 Найти цитируемый пост)
А кто знает GDI+ это от кого мошло, только от .нет, или им в нейтив коде тоже можно юзать?

всё можно, GDI+ ещё в ATL/WTL появилась

Автор: Любитель 23.11.2006, 11:04
Rapalex, пришлю как-нибудь.

Автор: Rapalex 24.11.2006, 11:34
Да, всем спасибо, темма плавно изменялась но зато другим интересно почитать будет...  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)