Название: wtf is *this? Отправлено: CuteBunny от Август 28, 2012, 14:34 Привет, всем!
Есть код: Код
Почему в данном случае, ничего криминального нету в том, что a - у нас неинициализированная локальная переменная и более того мы вызываем метод f()? На msvc2010 в релизе собирается, запускается, проверил еще и в ideone.com. Название: Re: wtf is *this? Отправлено: Igors от Август 28, 2012, 14:38 MSVC (во всяком случае 2008) варнингов сыпет много, но не тех что надо. Порядочный компилятор (icc/gcc) скажет типа "used before been initialized"
Название: Re: wtf is *this? Отправлено: mutineer от Август 28, 2012, 14:40 А что криминального должно случиться? Метод к данным объекта не обращается, выполняясь независимо от this, значит ему без разницы чему этот самый this равен
Название: Re: wtf is *this? Отправлено: CuteBunny от Август 28, 2012, 14:41 MSVC (во всяком случае 2008) варнингов сыпет много, но не тех что надо. Порядочный компилятор (icc/gcc) скажет типа "used before been initialized" Да у меня даже debug не собрался, вылетело с assert'ом... А в релизе все ок... http://ideone.com/Q54sP (http://ideone.com/Q54sP) - вот из ideone.com на g++ Название: Re: wtf is *this? Отправлено: CuteBunny от Август 28, 2012, 14:43 А что криминального должно случиться? Метод к данным объекта не обращается, выполняясь независимо от this, значит ему без разницы чему этот самый this равен Все понятно, тогда, спасибо!:) Я понял:) Название: Re: wtf is *this? Отправлено: kambala от Август 28, 2012, 16:01 студия вообще много чего кушает и не давится в отличие от gcc или clang например
Название: Re: wtf is *this? Отправлено: andrew.k от Август 28, 2012, 16:33 а какое слово маскирует звездочка в сабже? :)
Название: Re: wtf is *this? Отправлено: ecspertiza от Август 28, 2012, 17:28 попробовал на гцц для интересу http://liveworkspace.org/code/8d4400797f8502f7bc859358838039fa :)
|