пятница, 18 января 2008 г.

True Indians

Вчера нашел странный код, не то, что бы он не работающий, просто реально странный:

Похоже, что индийские коллеги, предварительно помедитировав, решили убить двух зайцев одним указателем. Если объект Xcon существует или существовал, но был по каким-то причинам удален, то выполняется блок 1, в противном случае, выполняется блок 2. И все это рулится значением указателя. А я, как не достигший просветления путем медитации, потенциально мог бы удовлетвориться проверкой if(db) для дальнейшего использования db... Я еще удивлялся, почему они так боятся смартпоинтеров.

2 комментария:

Unknown комментирует...

если вместо 1 использовать NULL, получиться совершено обычный код

sash_ko комментирует...

В реальном коде NULL используется тоже, т.е. db может быть NULL, (Xcon*)1 или new Xcon.