の値を返すには、私はC++初心者だ、と私は入力が成功した場合アドレスとCIN
int a;
if(cin>>a);
のようなコードでは、CINは真とその逆をもたらすだろうと言われました。
しかし、私はbool値を出力したい、
cout<<boolalpha<<(cin>>a)<<endl;
それはアドレス与える:
0x6fcc41e8
を私もcin
が対象ですが、
cout<<&cin<<endl;
が与えると言われました値
0x6fcc41e0
これは8で異なる。
a。なぜ最初のcout
がbool値ではなくアドレスを与えるのですか?
b。なぜ2つのcout
が異なるアドレスを与えるのですか?
ありがとうございます。
使用しているコンパイラとコンパイラのフラグは何ですか? – aschepler
誰かがあなたを惑わしました。 'cin'は' istream'で、 '>>'演算子は' istream& 'を返します。詳細はこちら[こちら](http://www.cplusplus.com/reference/istream/istream/operator%3E%3E/) – CAB