Название: Новый стандарт С++ Отправлено: developer от Июнь 18, 2009, 17:26 Интересно услышать ваше мнение о нововведениях в С++, который хотят випустить.
Название: Re: Новый стандарт С++ Отправлено: spectre71 от Июнь 18, 2009, 17:39 Интересно услышать ваше мнение о нововведениях в С++, который хотят випустить. Ты бы хоть ссылку дал или написал о каких нововведениях идет речь.Название: Re: Новый стандарт С++ Отправлено: Rcus от Июнь 18, 2009, 17:55 По мне так самое прекрасное это вывод типов (type inference), не самое просто дело в C++ с его перегрузками всего и вся /* функциональщики зевают, в глазах видно порицание: too slow */.
Сравните же Код Лямбда тоже интересна, синтаксис конечно многословный, но как-то приятнее чем boost::bind/lambda, теперь и земляне смогут использовать std::for_each. Ну и конечно хорошо что стандартизовали некоторые части буста. Название: Re: Новый стандарт С++ Отправлено: lit-uriy от Июнь 18, 2009, 17:59 Ссылки:
Страничка Страуструпа: http://www.research.att.com/~bs/C++0xFAQ.html C++0xCompilerSupport: http://wiki.apache.org/stdcxx/C++0xCompilerSupport Название: Re: Новый стандарт С++ Отправлено: mozgofil от Июнь 24, 2009, 19:19 По мне так самое прекрасное это вывод типов (type inference), не самое просто дело в C++ с его перегрузками всего и вся /* функциональщики зевают, в глазах видно порицание: too slow */. какой уж :oс!!!Сравните же Код
Название: Re: Новый стандарт С++ Отправлено: Rcus от Июнь 24, 2009, 19:24 /** Нервно оглядывается в ожидании ужаса, что-то он задерживается */
Потрудитесь объяснить какая часть моего поста вызывает ужас? Название: Re: Новый стандарт С++ Отправлено: SABROG от Июнь 24, 2009, 19:51 Я правильно понимаю, в этом месте тип it определяется по возвращаемому значению?
Код
Название: Re: Новый стандарт С++ Отправлено: Rcus от Июнь 24, 2009, 19:59 Да. Но перегрузка и неявные преобразования очень плохо дружат с выводом типов (В языке OCaml нет ни того ни другого ради вывода типов).
Насколько я помню обсуждения драфта ради получения константных итераторов над неконстантным контейнером в стандартную библиотеку будут введены методы cbegin, cend, crbegin, crend. Название: Re: Новый стандарт С++ Отправлено: SABROG от Июнь 24, 2009, 20:49 Для явных преобразований есть explicit, поэтому не страшно. Помню когда только начал изучать C++ долго удивлялся нафига надо явно указывать тип, если он и так понятен из контекста. Правда думается мне, что будет ряд ограничений, которые сведут на нет эту возможность типа объявления переменной в структуре или классе, когда её размер невозможно узнать без явного использования где-нибудь.
Название: Re: Новый стандарт С++ Отправлено: mozgofil от Июнь 24, 2009, 21:22 /** Нервно оглядывается в ожидании ужаса, что-то он задерживается */ листинг.Потрудитесь объяснить какая часть моего поста вызывает ужас? Что называется "лучшее - враг хорошего". за счёт уменьшения времени кодирования получаем затруднение читабельности исходников: во-первых: не видно состава контейнера во-вторых: не видно что CONST_iterator Название: Re: Новый стандарт С++ Отправлено: Rcus от Июнь 24, 2009, 21:42 Ага, я тоже когда читал исходники на окамле ужасался! :) А потом неделю не мог писать на плюсах, все искал iter, filter и map :) /* укрывается от марсиан вооруженных std::for_each и std::transform*/
А если серьезно то, во-первых, знать нам нужно только то что это ассоциативный контейнер, что вполне можно выразить через имя переменной. Во-вторых, проблему const я уже описал, для std контейнеров добавление "c" явно будет означать константность (в Qt сейчас используется constBegin/constEnd, но после принятия стандарта думаю это исправят для обеспечения совместимости) Название: Re: Новый стандарт С++ Отправлено: mozgofil от Июнь 24, 2009, 22:51 Ага, я тоже когда читал исходники на окамле ужасался! :) А потом неделю не мог писать на плюсах, все искал iter, filter и map :) /* укрывается от марсиан вооруженных std::for_each и std::transform*/ Возвращение к венгерской конвенции(или как её)?А если серьезно то, во-первых, знать нам нужно только то что это ассоциативный контейнер, что вполне можно выразить через имя переменной. опять всякие "lpcszString"? Во-вторых, проблему const я уже описал, для std контейнеров добавление "c" явно будет означать константность (в Qt сейчас используется constBegin/constEnd, но после принятия стандарта думаю это исправят для обеспечения совместимости) А как же совместимость с прежними версиями stl , где не было 'c' ?Название: Re: Новый стандарт С++ Отправлено: Rcus от Июнь 25, 2009, 05:20 Ага, возврат к size_t, npos, cin, неожиданно да?
О какой совместимости вы говорите? Обратная совместимость есть: не хотите использовать - можете писать как привыкли. Название: Re: Новый стандарт С++ Отправлено: mozgofil от Июнь 25, 2009, 18:29 Ага, возврат к size_t, npos, cin, неожиданно да? cin в этом списке лишний(как и size_t) ;)О какой совместимости вы говорите? Обратная совместимость есть: не хотите использовать - можете писать как привыкли. Если часть кода проекта(в которой встречается 'c') нужно прицепить к старому проекту, использующему старую stl.Название: Re: Новый стандарт С++ Отправлено: Rcus от Июнь 25, 2009, 18:47 Я имел ввиду что сила имен переменных достаточно велика и без использования венгерской нотации, впрочем, я не вижу проблемы с отсутствием дополнительного упоминания типа контейнера при использовании итераторов над ним.
То есть вы хотите чтобы новведения в язык приходили без поддержки со стороны стандартной библиотеки? ... многие старые компиляторы не дружат с бустом, это же не повод не использовать его, так? Когда придет время использовать новый стандарт в серьезных проектах мало кому придет в голову взять старый компилятор Название: Re: Новый стандарт С++ Отправлено: mozgofil от Июнь 25, 2009, 19:44 Я имел ввиду что сила имен переменных достаточно велика и без использования венгерской нотации, впрочем, я не вижу проблемы с отсутствием дополнительного упоминания типа контейнера при использовании итераторов над ним. является ли "проблемой" уродливые имена переменных? - для кого как. Вообще, венгерскую нотацию придумали для тех, кто не умеет придумывать адекватные названия переменных, ибо небольшая неточность в названии - всё равно что большая.То есть вы хотите чтобы новведения в язык приходили без поддержки со стороны стандартной библиотеки? ... многие старые компиляторы не дружат с бустом, это же не повод не использовать его, так? Когда придет время использовать новый стандарт в серьезных проектах мало кому придет в голову взять старый компилятор многие старые проекты практически нереально перевести на новый компилятор(среду разработки). |