コード例:
#include <iostream>
int main()
{
if(int a = std::cin.get() && a == 'a')
{
std::cout << "True" << std::endl;
}
}
質問:
このコードをコンパイルすると、VisualStudioから警告が表示されますwarning C4700: uninitialized local variable 'a' used
。ですから、それは初期化されていないことを理解しa
ています。しかし、式がどのように評価されるかを完全に理解したかったのです。上記のifステートメントが同等であるのは事実if(int a && a == 'a') { a = std::cin.get(); }
ですか?誰かが何が起こるかを正確に説明できますか?