mpd

Меня Джонатан не любит... :-(

Jan 15, 2010 14:00

Некий Jonathan Wakely определенно меня не любит.
А началось всё с моего письма в рассылке GCC (см. здесь предысторию возникновения этого письма), в котором я поинтересовался, а отчего же такая асимметрия:
  1. swap для пользовательских типов можно определять и в std, и в том же пространстве имён, откуда они;
  2. distance с advance - только в std, если вы ( Read more... )

freesoftware, c++, gcc

Leave a comment

(The comment has been removed)

Re: переопределение distance в std - это из какой серии? mpd January 15 2010, 16:55:13 UTC
Я указал свой старый пост в начале, который ссылается на другой пост, в котором мне некий аноним указал, что"Добавлять что-то в std не следует, на это есть Комитет по стандартизации. :-)"
Судя по всему, для этого анонимуса подходит твоё "просто некошерно".

Я решил проверить это утверждение на зуб, нашел много интересного по ходу ( что-то изложено в моём посте), и пришел к выводу, что когда припрёт, пАлюбому, расширять std надо, от этого никуда не денешься ( ... )

Reply

(The comment has been removed)

Шкурный вопрос. ;-) mpd January 15 2010, 17:06:07 UTC
Слушай, кстати, а через тебя можно будет привести одну книжицу?
Т.е., мне не к спеху, как соберёшься, даже можно уже почитанную, я не скуплюсь полностью оплатить полную её цену.
Как думаешь, а? :-)

Reply

Специализация шаблонов из std для пользовательских тип mpd February 9 2010, 10:17:54 UTC
В стандарте С++03 про это говориться так:17 Library introduction [lib.library]
...17.4.3.1 Reserved names [lib.reserved.names]
It is undefined for a C + + program to add declarations or definitions to namespace std or namespaces within namespace std unless otherwise specified. A program may add template specializations for any standard library template to namespace std. Such a specialization (complete or partial) of a standard library template results in undefined behavior unless the declaration depends on a user-defined name of external linkage and unless the specialization meets the standard library requirements for the original template.)
...
В проекте к новому так:17 Library introduction [library]
...17.6.3.2.1 Namespace std [namespace.std]
The behavior of a C++ program is undefined if it adds declarations or definitions to namespace std or to a namespace within namespace std unless otherwise specified. A program may add a template specialization for any standard library template to namespace std only if the declaration depends on a ( ... )

Reply


Leave a comment

Up