- 1
- 2
- 3
- 4
list* down_if_valid_me(void)
{
return this ? this->down() : NULL;
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+6
list* down_if_valid_me(void)
{
return this ? this->down() : NULL;
}
Лабы заставили проверять?
облаза
РУСКИЙ И АМЕРИКАНЕЦ ЗАХОДЯТ В ЛИФТ АМЕРИКАНЕЦ ГОВОРИТ ДАУН А РУСКИЙ ТАКОЙ САМ ТЫ ДАУН
А ДАУН ПО АМЕРИКАНСКИ ВНИЗ А РУСКИЙ ДУМАЛ ЕГО ОБОЗВАЛИ АХАХА ДОШЛО ДОШЛО ДА ВОТ ПРИКОДЛ
Может. Но это UB :)
Если к параметру this не происходит явных или неявных обращений (e.g. не производится доступа к полям), то код выполняется, как и должен.
в данном случае всего лишь
http://ideone.com/nbBOPs — к виртуальным без this не достучаться.
Ну на то он и MFC. Это пособие по тому, как не нужно проектировать объектную библиотеку.
Color it darkly, the lines must start to crawl
Down, down, down
Spin me around and around
Draw me away to the night from the day
Leave not a trace to be found
Down, down
(c) Rainbow
Компренда Скайвокер
Плюсую.
тогда уж
Делаю минеты
А в джаве, кстати не все виртуальные - есть же статики, и final'ы вроде как оптимизируются в невиртуальный вызов.
а final только запрещает переопределение, но всегда упает с NPE на nullевом объекте (может инлайнить по своему усмотрению)
Вот последний используется для вызова private-методов, ибо там класс известен и полиморфное поведение не нужно.
Но он всё равно валится по NPE, даже если в private-методе this никак не используется.