- 1
- 2
- 3
- 4
- 5
- 6
MyClass * obj = (MyClass*)true;
while (obj)
{
obj = GetObj();
// ...
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+166
MyClass * obj = (MyClass*)true;
while (obj)
{
obj = GetObj();
// ...
}
но иногда такой код бывает оправданным... допустим, если перед вызовом GetObj нужно выполнить какое либо тействие, типа MoveNext()...
я не говорю это это не говнокод, мне просто однажды пришлось написать такую конструкцию, так как при других раскладах, получалась либо дополнительные проверки на досрочный выход, либо использование функций получения очередного элемента в нескольких местах... (еще был вариант с goto, но религия не позволяет)...
Вот и все, и не надо изобретать Слонопотама.
надо так
MyClass * obj;
while ( (obj = GetObj()) != 0 )
{
// ...
}
С уважением
Pushkoff
З.Ы. Не могу залогиниться, прокся перестала пускать https трафик от яндекса.
while (obj)
{
// код ...
obj = GetObj();
}
Немного гормоничнее, не находите?
while ((obj = GetObj()))
{
}