![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
Vyacheslav |
|
||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2124 Регистрация: 25.3.2002 Где: Москва Репутация: 9 Всего: 59 |
Небольшая информация. Трехгодичный мораторий на внесение измений стандарта окончился и сейчас идет работа по внесению изменений. Информацию о текущем положении дел можно подчерпнуть отсюда
http://std.dkuug.dk/jtc1/sc22/wg21/docs/pa...402.html#hickey http://www.cuj.com/documents/s=8890/cujexp0310sutter/ http://www.cuj.com/documents/cujcexp0308sutter/ Лично меня порадовало внесение в стандарт(пока в черновной вариант) шаблонного класса function, в частности облегчающего работа с указателями на метод класса Например.
Замена __closure от Borland выглядела примерно так
-------------------- С уважением, Вячеслав Ермолаев |
||||
|
|||||
BuBu |
|
|||
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 6.11.2003 Репутация: нет Всего: нет |
Fantasist BRAVO:) I krome vsego vi je sebe predstavljajete chto napisannij kod doljen kto-to i chitat`, i po semu kak vi sebe predstavljajete ser`jeznie (imeetsja v vidu razmer koda) swich, if i drugie s bol`shim kolichestvom break-ov ili continue-ov, nu tut i zrenie isportit` mojno:) GOD BLESS C++ jazik v kotorij sam je sposoben ispravit` vse svoi nedostaki:)
|
|||
|
||||
sergejzr |
|
|||
![]() Un salsero ![]() Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 19 Всего: 360 |
Не могу сказать, что существует много недостатков, но пару предложений появляются, когда сравниваешь Си++ с другими языками. Например:
|
|||
|
||||
p0s0l |
|
||||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 2 Всего: 112 |
Не вижу недостатка в этом. Это даже к лучшему. Например, вызываю функцию 1 (при этом она в try..catch), та в свою очередь использует сотни функций, каждая из них может выкинуть исключение - и что, каждый раз ставить try..catch ? И еще в каждом catch ставить throw, чтобы основная прога (которая вызвала ф-ию 1) тоже поймала исключение ? Какая-то ерунда... Программист - не дурак, сам знает, когда и где ему ожидать исключений, а специально "тыкать носом" его, по-моему, абсурд.
А кто мешает ? Асм-вставки давно не новинка... -------------------- С уважением, г-н Посол. |
||||
|
|||||
achmed |
|
|||
Unregistered |
по поводу switch, было бы неплохо что бы его расширили до испосльзования
всех пользовательских типов реализующих operator==, еще хотелось бы безимянных функций (лямбда ф-ий, как boost::lambda), по поводу обзательных обработок исключений, java прграммы буквально загромождаются блоками try..catch. хорошо бы сделать перегрузку функций как в C#, т.е. когда перегружаешь ВФ, то пишешь ключевое слово overflow (ну или какое другое), т.е. если ошибся с сигнатурой, что часто бывает с C++, то компилятор выдаст соотв. ошибку. шаблоны сканера и парсера тоже не помешали бы (boost::tokenizer, boost::spirit) да, механизм сигналов и слотов, для GUI приложений очень удобно, реализовано в Qt, там они транслируются в C++ код. |
|||
|
||||
sergejzr |
|
||||||||
![]() Un salsero ![]() Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 19 Всего: 360 |
2 p0s0l
Носом тыкать обязательно, поскольку иначе юзер вообще может быть не в курсе какие исключения могут при вызове функции полететь. В Яве механизм прекрасно работает. 2 achmed
2 p0s0l
2 achmed
Ребята, спасибо за интересную раскладку! |
||||||||
|
|||||||||
Fantasist |
|
|||
![]() Лентяй ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1517 Регистрация: 24.3.2002 Репутация: 4 Всего: 41 |
Здесь я бы согласился, но это пока не отвечает духу С++. После недолгой работы с Java я понял что фича очень стоящая. Она заранее заставляет задуматься о грамотной иерархии обработки ошибок, да и действиетльно выглядит гораздо нагляднее. Всем четко известно, что ловить, и все обязаны это ловить. Повышает стабильность. Но все-таки это не в стиле языков подобных С++. Даже если взять только исторические причины, то очень много старого кода оказалось бы невозможно использовать при добавлении такой фичи. Java все-таки отдельный разговор (был, во всяком случае, пока не появился С#) . -------------------- Волны гасят ветер... |
|||
|
||||
sergejzr |
|
|||
![]() Un salsero ![]() Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 19 Всего: 360 |
К сожалению это действительно так! Примерно как с телевизорами. Eщё много лет будем юзать ужасные PAL/SECAM, хотя современная технология позволяет значительные расширения разрешаюшей способности, итд,итп. Вообще изменение стандарта дело нелёгкое из за хвостов. А ЯВА была написана с нуля и к счастью концептуально, хотя казалось бы главной задачей был именно интероперабилитет. Совершенно согласен, что не надо из Си++ делать ЯВУ, но кое чему стоило бы поучиться. |
|||
|
||||
achmed |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 150 Регистрация: 12.4.2004 Репутация: нет Всего: нет |
стандарт предусматривает спецификацию исключений, но не обязывает реализовывать.
http://www.codeproject.com/useritems/stdexceptionspec.asp |
|||
|
||||
mr.DUDA |
|
|||
![]() 3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 25 Всего: 232 |
Если будет добавлена поддержка свойств на уровне синтаксиса языка - это будет просто рулез !!! Под свойствами я имею ввиду:
("новые" ключевые слова выделены курсивом) В C# и ManagedC++ это действительно рульная фича, вот если бы в стандарте С++ было такое ![]() -------------------- ![]() |
|||
|
||||
Hearse |
|
|||
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 13.1.2004 Репутация: нет Всего: нет |
По поводу использования MMX(SSE) - было бы приятно, если бы в STL включили стороннюю библиотеку типа Intel Small Matrix Library.
По поводу перегрузки с помощью overload, в старых версиях компиляторов оное ключевое слово было, однако отказались, посчитав избыточным. Пусть лучше компилятор выводит статистику для перегруженных функций типа func1 - n overloads func2 - m overloads и т.д. |
|||
|
||||
sergejzr |
|
||||
![]() Un salsero ![]() Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 19 Всего: 360 |
Ну так меня почти устраивает. Вот только жаль..
|
||||
|
|||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |