наверно я многого хочу: поддержка конструкций
От: varnie  
Дата: 22.06.08 16:19
Оценка: :)
здравствуйте все.

интересуюсь, почему язык поддерживает конструкции вида:
 if (const Foo *pFoo = getFoo()) {
   //работаем далее с pFoo
 }
 //здесь уже pFoo нет

но не поддерживает
 if ((const Foo *pFoo = getFoo()) == VALUE) {
    //работаем далее с pFoo
 }
 //здесь уже pFoo нет

на подобное натыкаюсь зачастую, и приходится вместо этого писать:
 const Foo *pFoo = getFoo();
 if (pFoo){
    //работает далее с pFoo
 }
 //здесь уже pFoo нет

но немного не нравится, т.к. по логике сама переменная pFoo нам нужна только в теле блока if, а получается, что в моем последнем примере она будет доступна далее _после_ тела if. или я много хочу?
спасибо за комменты.
"Я женился на первой же женщине, которая обратилась ко мне по мейлу." © Л. Торвальдс
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.