![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
Royan |
|
||||
Dreamer ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1708 Регистрация: 14.9.2002 Где: Лондон Репутация: нет Всего: 15 |
Хотел было задать вопрос а потом до самого дошло ;) быть может кому-то это сбережет час времени
Нерпавильный код:
Правильный код:
-------------------- Открыта вакансия Junior Java Developer'а в нашем лондонском офисе, подробнее можно узнать здесь |
||||
|
|||||
Олег М |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 436 Регистрация: 10.6.2004 Где: Москва Репутация: 7 Всего: 7 |
Пользуйся классами типа auto_ptr - таких проблем не будет.
Добавлено @ 14:51 http://msdn.microsoft.com/library/default....toptr_class.asp |
|||
|
||||
Royan |
|
|||
Dreamer ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1708 Регистрация: 14.9.2002 Где: Лондон Репутация: нет Всего: 15 |
auto_ptr, это CRT, а CRT в виндах я пытаюсь изжить, так как там и так процедур хватает, чтобы решить практически любую повседневную задач
-------------------- Открыта вакансия Junior Java Developer'а в нашем лондонском офисе, подробнее можно узнать здесь |
|||
|
||||
Олег М |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 436 Регистрация: 10.6.2004 Где: Москва Репутация: 7 Всего: 7 |
Что-то ты не то говоришь, Royan. auto_ptr - это шаблон специально разработанный для работы с указателями, чтобы они автоматически удалялись, типа статичных объектов. Мне, лично, он тоже не очень нравится - я написал свой класс - потому что ахеренно нужно. И многие виновски хэндлы через него пользую.
Добавлено @ 15:00 А чем тебе ЦРТ не понравилось? |
|||
|
||||
Royan |
|
|||
Dreamer ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1708 Регистрация: 14.9.2002 Где: Лондон Репутация: нет Всего: 15 |
Все для своих целей в WinAPI следует пользоваться тем, что есть в Win32, а в консоле STL и подобные -------------------- Открыта вакансия Junior Java Developer'а в нашем лондонском офисе, подробнее можно узнать здесь |
|||
|
||||
Олег М |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 436 Регистрация: 10.6.2004 Где: Москва Репутация: 7 Всего: 7 |
С ума сошёл? STL - никаким местом не связана с консолями и винапи. Так же как остальные стандартные библиотеки. Это всё !!!СТАНДАРТНЫЕ!!!! библиотеки С++, которые, за не которыми исключениями, будут работать ГДЕ-УГОДНО. И при разработки программ хорошим стилем считается пользоваться именно ими Добавлено @ 15:21 Ты же пользуешься new и delete а это тоже из ЦРТ |
|||
|
||||
AndyY |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 316 Регистрация: 8.5.2004 Где: СПб Репутация: 2 Всего: 4 |
Олег М
ну, без нужды функции CRT лучше не пользовать. особенно вызывают сомнения функции типа setjump или beginthreadex... Уж лучше по простому - CreateThread, goto или return. про STL - стандартная-то она стандартная, но приходится таскать за собой лишнюю dll на 400 килов, что элегантности проге не прибавляет (msvcp60.dll). И код с ее применением становится ужасно читаем. |
|||
|
||||
Royan |
|
|||
Dreamer ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1708 Регистрация: 14.9.2002 Где: Лондон Репутация: нет Всего: 15 |
А разве я говорил, что связана? И то что мною здесь было написано относится исключительно к MS VC++. В STL сплошь и рядом юзаются new и delete => STL для MS VC++ напрямую завзязана с CRT. Тот факт, что их пользую я и говорю, что пытаюсь от этого уйти, тоже правда, а использование этих операторов не более чем пережиток внутри моих программ для Win32, также как и многие из нас не считая себя язычниками празднуют масленицу... ![]() -------------------- Открыта вакансия Junior Java Developer'а в нашем лондонском офисе, подробнее можно узнать здесь |
|||
|
||||
Vyacheslav |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2124 Регистрация: 25.3.2002 Где: Москва Репутация: 9 Всего: 59 |
Класс !!!. В таком случае можно смело заявлять, что и весь С++ - пережиток. -------------------- С уважением, Вячеслав Ермолаев |
|||
|
||||
Олег М |
|
||||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 436 Регистрация: 10.6.2004 Где: Москва Репутация: 7 Всего: 7 |
setjump - базара нет. Ей вообще лучше нигде не пользоваться. А beginthreadex сделана специально для виндов. В ней до кучи инициализируется многопотоковое ЦРТ. Так что если используются стандартные библиотеки, то настоятельно рекомендуется пользоваться ей вместо CreateThread.
Во первых операторы new и delete можно переписать как тебе угодно и будут юзаться именно они. Во вторых, дурью не майся, напиши свой класс типа auto_ptr, если он тебе не нравится (я так и сделал). Это тебе ОЧЕНЬ облегчит жизнь в ахеренных количествах ситуаций. Я бы тебе свой прислал - да под рукой сейчас нет, разве через недельку, если напомнишь.
Что-то раньше не слишком-то эта ДЛЛка мешала (я об ней вообще не знал).
Дык пиши так, чтобы он был не ужасно читаем. Что тебе мешает? |
||||||||
|
|||||||||
Vyacheslav |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2124 Регистрация: 25.3.2002 Где: Москва Репутация: 9 Всего: 59 |
STL - не элегантна и плохо читаема? На мой вгляд - это одна из самых элегантых библиотек, придающая коду лаконичность и читабельность. И непонятно, зачем для STL потребовалась библиотека на 400 кило, по-скольку вся библиотека - шаблоны в хидерах. Хотя здесь утверждать не берусь. Я VC не дружу, а Билли еще и не так может -------------------- С уважением, Вячеслав Ермолаев |
|||
|
||||
Олег М |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 436 Регистрация: 10.6.2004 Где: Москва Репутация: 7 Всего: 7 |
Дай пять! ![]() |
|||
|
||||
AndyY |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 316 Регистрация: 8.5.2004 Где: СПб Репутация: 2 Всего: 4 |
Vyacheslav,
Олег М ![]() мое мнение - что stl - это шутка, которую все восприняли всерьез ![]() ну о какой читаемости идет речь
(пример из фака по STL от mr.DUDA). Крайне сомнительная эленантность присутствует в выражении list< MyStruct>::iterator:). А уж i++ - просто вредно, неокрепшие умы могут подумать что структуры лежат в памяти линейно. Также неуклюжа конструкуия (*i).A - куда естественней i-> К примеру - как написал бы я:
что делать, когда требуется отдать итератор в другой модуль, который не имеет доступа к stl классам, а может быть вовсе написан на дельфи - также не ясно. Добавлено @ 12:52 в общем, жду примеров использования библиотеки, которые делают код более читаемым, лаконичным и элегантным. |
||||
|
|||||
Олег М |
|
||||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 436 Регистрация: 10.6.2004 Где: Москва Репутация: 7 Всего: 7 |
Неокрепшие умы вообще много чего могут подумать. И что писать библиотеки в расчёте на них. Списибо. Сталкивался.
Ну это к mr.Dude. Откуда я знаю - нафига он так написал?
Это пример хорошего или плохого стиля?
Не отдавать! Согласен, в СТЛ есть кой-какие заморочки - но скорее всего я в них ещё просто не разобрался. |
||||||||
|
|||||||||
srd |
|
|||
![]() Нереварин ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 951 Регистрация: 30.8.2003 Где: Владивосток Репутация: 27 Всего: 49 |
О том, как отвязаться от CRT и стоит ли это делать, можно почитать здесь
-------------------- Не смей читать мою подпись!!! |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |