0

私はこのような文字の配列を持っています:

char arr[3]="hi";
cout << arr;// this will print out hi

したがって、operator <<には、ostreamオブジェクトとchar*を受け取るオーバーロードされたバージョンがあります。したがって、cout<<arr;最初のarrはチャットに減衰します*。次に、operator <<()は、null文字が見つかるまでcharポインターが指しているものを出力しますか?

cin>>arr;配列を第2オペランドとして取る演算子>>でどのように機能するかについての同じ質問。

4

3 に答える 3

1

作品とまったく同じようにcout

配列arrはポインタ型に崩壊し、引数としてistream取るオーバーロードされたバージョンも存在します。char*だから、崩壊した後のようarrに渡されます。operator>>char*

于 2012-04-23T18:02:51.623 に答える
1

あなたのostreamistreamは持っていてoperator<<operator>>オーバーロードして、を取り、char*配列は最初の要素へのポインタに減衰します。だから、はい、それはあなたが言うことをします。

于 2012-04-23T18:03:25.770 に答える
0

詳細については、ここを参照してくださいcout標準出力ストリーム。このページで、「ostream :: operator << 」というリンクをクリックして参照してください。同様に、標準入力ストリームの詳細については、こちらを参照してcinください。ここで、クリックして「演算子(>>)」というリンクを確認してください。

于 2012-04-23T18:07:11.227 に答える