![]() |
Показать все 15 сообщений этой темы на одной странице |
HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Технические вопросы (https://hlfx.ru/forum/forumdisplay.php?forumid=20)
-- Вопрос к знатокам С (https://hlfx.ru/forum/showthread.php?threadid=4369)
Вопрос к знатокам С
Как вы думаете, скомпилится ли такой код?
char *ptr = NULL; |
size_t offset = 123; |
ptr = ptr + + + + + + offset; |
__________________
скомпилится
__________________
vk.com/skullcapstudios
Один крест лишний. Результат подобных фокусов заранее не определён и на практике никому не нужен.
Это как на башорге написали "функция подергивания" ++ptr--;
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
честно говоря не знаю - никогда не писал подобного кода
__________________
Да, если byte будет заглавными буквами написан? //сказал профан Си.
__________________
++ptr++ + ++ptr++; |
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
__________________
Да оно и вот так компилится
char *ptr = NULL; |
size_t offset = 123; |
ptr = ptr + + + + + + + - - - offset; |
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
__________________
Ну хорошо, хоть про унарный минус не забыл
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Так вот в твоём примере увидел унарный минус и сразу понял, в чём разгадка.
От этого унарного плюса пользы мало - только принудительный integer promotion, а он нужен чуть реже чем никогда.
Забавно, что остальным на форуме тоже в голову эта простая разгадка не пришла...
__________________
А почему оно не должно компилиться?
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
FiEctro
Прикольно задавать провокационный вопрос, когда ответ объявлен, правда?
А пока ответа нет - все тихонько сидят в кустах, выжидают.
__________________
Временная зона GMT. Текущее время 21:33. | Показать все 15 сообщений этой темы на одной странице |
На основе vBulletin версии 2.3.0
Авторское право © Jelsoft Enterprises Limited 2000 - 2002.
Дизайн и программирование: Crystice Softworks © 2005 - 2024