Модераторы: Daevaorn

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> небольшая задачка 
V
    Опции темы
Alek86
Дата 21.3.2008, 20:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1299
Регистрация: 30.1.2007
Где: Киев

Репутация: 21
Всего: 25



Цитата(vinter @  21.3.2008,  20:16 Найти цитируемый пост)
соблюдать, но понимать что на каком нить компиляторе это может не сработать.

идеала в нашей жизни нету
помойму, если какой-то нерастпространенный компилер будет еще и свои требования к коду предьявлять, то его заочно втопку (или пускай программисты, на нем работающие, подстраивают свои #ifdef'ы)


--------------------
user posted image    user posted image
PM MAIL   Вверх
korian
Дата 25.3.2008, 09:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 651
Регистрация: 8.3.2008
Где: Украина, Харьков

Репутация: 3
Всего: 17



Цитата(UnrealMan @  21.3.2008,  16:11 Найти цитируемый пост)
Эта цитата неприменима к твоему примеру, т.к. у тебя не выполняется преобразование из pointer to cv void к оригинальному типу. Относительно приведения не к оригинальному типу стандарт ничего не говорит, что, согласно положению "Undefined behavior may also be expected when this International Standard omits the description of any explicit definition of behavior", можно расценивать как undefined behavior.

+ вам за разьяснения...
из всего выше сказанного получается, что, если платформа предпологает возможность перевода из T1* в T2*, то reinterpret_cast для такого перевода обязан быть реализован, т.к. reinterpret_cast - implementation-defined. а кастинг через void* из начально undefined и может работать не правильно и реализовываться не обязан. поэтому reinterpret_cast лучше при переводе не связанных типов.
я правильно понял?
по всему инету пишут, что reinterpret_cast хуже потому, что тупа копирует биты, но стандарт не оговаривает, что это должо быть именно так.

PM   Вверх
UnrealMan
Дата 25.3.2008, 16:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 722
Регистрация: 30.3.2006

Репутация: 27
Всего: 32



Цитата(korian @  25.3.2008,  09:16 Найти цитируемый пост)
я правильно понял?

Я не могу быть на 100% уверенным, что я сам всё правильно понимаю. Стандарт C++ - штука хитрая, порой встречаешь описание чего-нибудь там, где совсем его не ожидаешь увидеть.

Цитата(korian @  25.3.2008,  09:16 Найти цитируемый пост)
по всему инету пишут, что reinterpret_cast хуже потому, что тупа копирует биты,

Возможно, существует какая-то платформа, где reinterpret_cast криво реализован, а двойной static_cast хорошо отрабатывает, откуда некоторыми людьми делаются выводы в пользу повсеместного применения последнего способа. Но каких-то предпосылок со стороны стандарта для применения такого трюка я не вижу.
PM MAIL   Вверх
JackYF
Дата 25.3.2008, 17:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: 18
Всего: 162



Цитата(vinter @  21.3.2008,  19:16 Найти цитируемый пост)
соблюдать, но понимать что на каком нить компиляторе это может не сработать. 

Ну дык и я про что smile


--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0821 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.