C++を理解しようとしているものなのですが、よく分からない所があります。

補足

自分なりに考えてみたのですが、 cin << a << b <<c というのは、つまり、 まずaの値を入力させる、aが1なら、00001を入力、 次にb、bが2なら、00010であるが、すでにcinには00001が入っており、 シフトさせるので、0000100010とかになる・・・? このようにして格納していって、また左から読み込んでいく仕組みになってたりするんでしょうか? その場合、aとbの境界に何か目印をつける必要がありますが・・・ 00001@00010みたいな。。

C言語関連 | プログラミング91閲覧xmlns="http://www.w3.org/2000/svg">25

ベストアンサー

0

ThanksImg質問者からのお礼コメント

これはBAに選ばざるを得ない。 声出しまでしてるし。

お礼日時:10/25 20:37

その他の回答(3件)

1

c++ における、<<や>>は、多くの場合に置いてビットシフト演算子ではありません。 ビットシフト演算子でもあるのですが、演算子のオーバーロードという機能により、 状況によって動作が変化します。 演算子のオーバーロードは難しい概念ですが、それ以前の話として、 ここで示されているような、<<の使い方は、C++の勉強を初めていちばん最初に書いてある内容です。 これが全くわからない、状態だと、 「さてはC++の勉強を1ミリもやってないな?」と思われてしまっても無理はありません。 まずは、一番初歩のHello worldから始める事をおすすめします。

1人がナイス!しています

結局その演算子のオーバーロードとかもビットシフトで説明できたりしませんか? 自分なりに考えてみたのですが、 cin << a << b <<c というのは、つまり、 まずaの値を入力させる、aが1なら、00001を入力、 次にb、bが2なら、00010であるが、すでにcinには00001が入っており、 シフトさせるので、0000100010とかになる・・・? このようにして格納していって、また左から読み込んでいく仕組みになってたりするんでしょうか? その場合、aとbの境界に何か目印をつける必要がありますが・・・ 00001@00010みたいな。。

0

そもそも基礎ができていない人に説明は不可能です。 (だって無駄ですから) 考えて見てください。 足し算すらわからない乳幼児に微積分を説明して、理解できると思いますか。 どう考えたって無理でしょ。 方向性だけ提示しておきます。

>> //ライブラリー取得? >> using namespace std; 全然違います。namespace (名前空間)です。 C++の標準API は namespace std で括られています。 namespace std{ ____int atoi( const char* s ){ _______// ここで実装 ____} } のように。 これを使うときに。 入門書だと「namespace」または「名前空間」辺り。 >> //>>は2bitシフトの意味があるらしいが、全く分からない 入門書だと「bit演算」辺り。 >> そもそもcout,endlとは... 入門書だと「標準入力」と「標準出力」、「マニピュレータ」辺り。

1

はっきりいうと、初歩的な学習もなしにC++を使うのは無理です。 本を読みましょう。 あと、Cの知識も不足しているようです。 英語を知らない人が英語の本読んでもわからないでしょ。 まずはさぼらずにCとC++の基本的な本を読みましょう。

1人がナイス!しています