![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 63 Всего: 196 |
В данном случае лучше делать через перегрузку:
|
|||
|
||||
mabrarov |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 100 Регистрация: 12.1.2011 Где: Казань Репутация: 8 Всего: 9 |
Вот этого как раз и не надо в стандарт. Это реализуется и должно реализовываться сторонними библиотеками (есть же Boost). Вообще, комитет по стандартизации C++ хоть и жутко "тормозит", но, слава богу, ведет себя "по-взрослому" - не пытаясь сваять из C++ Java - "вот вам вместо языка (и, местами, вашей ОС) целая платформа". Иначе C++, стандарты которого итак неважно поддерживаются в mobile/embedded-мире, так и останется расколотым на Modern C++ Design и то, что используют Google/Mozilla/etc. А так, в свете rvalue reference и clang, надежда еще живет ![]() |
|||
|
||||
Alekseyl92 |
|
|||
Начинающий Профиль Группа: Участник Сообщений: 2 Регистрация: 18.12.2009 Репутация: нет Всего: нет |
||||
|
||||
azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 81 Всего: 211 |
С тем же успехом реализуются и умные указатели, и STL и очень многое другое. Следуя твоей логике отказываемся от STL и пишем свои велосипеды, так-как пользоваться сторонними библиотеками не каждый может себе позволить. Я перечислил базовые средства, необходимые для построения современных приложений. Который используется далеко не в каждом проекте. |
|||
|
||||
mabrarov |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 100 Регистрация: 12.1.2011 Где: Казань Репутация: 8 Всего: 9 |
Контейнеры и указатели - достаточно обобщенные классы, чтобы быть, что называется, "из коробки". А вот тот же Boost.Asio "уходит корнями" в ОС (которой может и не быть) гораздо дальше. Стандартная библиотека C++ потому и называется стандартной, что должна предоставлять только обобщенные и "мелкие" кирпичики для дальнейшей разработки - с учетом многообразия всех тех сред, где C++ применяется и планирует применяться. Попытки засунуть в нее то, что хорошо иметь как сменный объектив у фотокамеры, приведут к превращению библиотеки в "платформу". Пример, как говорится, "у всех на виду" - J2SE, J2EE, J2ME (+ куча профилей), Android, GAE и т.п. Насколько я знаком с мнением Страуструпа по этому поводу (вопрос по поводу Embedded C++) - он выступает за единую гибкую стандартную библиотеку + произвольное множество сторонних библиотек для конкретных целей/платформ. Лично мне хватает тех же Boost-вских потоков и Boost.Asio. |
|||
|
||||
azesmcar |
|
||||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 81 Всего: 211 |
А параллельные алгоритмы это что-то специфичное?
Без сетевых технологий сегодня обходиться редкая программа. Язык, библиотека которой не имеет стандартной библиотеки с поддержкой примитивных средств коммуникации - сильно усложняет жизнь программиста. Тоже самое можно сказать о поддержке базы данных. По сути сегодня, что написать более менее нужную программу на C++ программисту приходиться собирать конструктор из разнообразных библиотек (и некоторых весьма сомнительных), что приводит к усложнению поддержки кода. Лично мне это не по душе. С каких пор слово "стандартная" приобрела такой смысл? Все перечисленное является кирпичиками, необходимыми для построения современных приложений. Половина вышеперечисленного есть в буст, другая половина в TBB. а мне - нет ![]() |
||||
|
|||||
borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 22 Всего: 135 |
xvr, понял. некий закрытый клуб "только для членов" (в хорошем смысле этого слова)
![]() не пойму чем лучше... то, что можно сделать - понятно, но то, что лучше... ведь я не предлагаю отменить перегрузку, а всего лишь дать возможность делать и так, и так... их же вроде ввели в C++0x. нет ?
поддерживаю в том плане, что у мнооооооогих программистов есть такой каталог типа common или shared или tools или utils, где собраны если не небоскрёбы, то как минимум приличные 9-ти этажки из тех самых "кирпичиков", предоставляемых стандартом, и у многих эти здания похожи как те новостройки из "С лёгким паром". Так почему бы это не объединить в библиотеку, которую назвать стандартной ? По сути тот же boost - это и есть объединение всего того, что наваяли программисты за много лет. Ведь говоря, что "нам достаточно кирпичиков, из них можно построить всё, что хочешь" можно и от STL отказаться... -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 81 Всего: 211 |
Тут дело не столько в названии, сколько в гарантии стабильности (или по крайней мере backward compatability) интерфейса этой библиотеки. Ввели, и не только их. Кстати, потоки тоже уходят корнями в ОС. |
|||
|
||||
mimik |
|
|||
![]() не Rohoss Я ![]() Профиль Группа: Участник Сообщений: 69 Регистрация: 1.11.2010 Репутация: нет Всего: 2 |
||||
|
||||
ИванМ |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1260 Регистрация: 19.6.2006 Где: СПб Репутация: 1 Всего: 23 |
На счет параметров по умолчанию в середине функции идея хорошая.
Хотелось бы улучшить делегирование. Например, в стиле Builder'а который я не люблю, но вещь там есть хорошаю, которая называется __closure. Либо реализовать стандартный механизм сигналов/слотов. Либо что-то сделать в стиле delegate из c#. Добавить lexical_cast или как предлагал borisbn функции преобразования внутри класса string. Возможность определять функции внутри любого блока кода. |
|||
|
||||
mimik |
|
|||
![]() не Rohoss Я ![]() Профиль Группа: Участник Сообщений: 69 Регистрация: 1.11.2010 Репутация: нет Всего: 2 |
||||
|
||||
ИванМ |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1260 Регистрация: 19.6.2006 Где: СПб Репутация: 1 Всего: 23 |
mimik, лямбда-фунции можно определить один раз внутри блока кода и потом использовать несколько раз? Если можно, то, в принципе, то, только как-то сложно. Обычный синтаксис не помешал бы.
|
|||
|
||||
azesmcar |
|
||||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 81 Всего: 211 |
конечно можно.
Добавлено через 54 секунды попроще
|
||||
|
|||||
ИванМ |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1260 Регистрация: 19.6.2006 Где: СПб Репутация: 1 Всего: 23 |
azesmcar, тогда один пункт пожеланий убираю.
|
|||
|
||||
alexvs11 |
|
|||
hell is here ![]() ![]() Профиль Группа: Участник Сообщений: 518 Регистрация: 21.8.2010 Репутация: 6 Всего: 10 |
#pragma once сделать стандартом
Добавлено через 14 минут и 20 секунд да, кстати ключевое слово interface по аналогии с жабой и COM |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |