- ベストアンサー
プログラミング言語Cとプログラミング言語C++
プログラミング言語Cとプログラミング言語C++の違いって何ですか? あと、プログラミング言語C++についていくつか質問があります。 #include <iostream> using namespace std; void main(){ cout << "Hello world!" << endl; } このプログラムについて質問なんですが、iostreamってプログラミング言語Cで言うstdio.hのことですか? using namespace stdって何ですか? あと、 cout <<"Hello world!"って何ですか?
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
> プログラミング言語Cとプログラミング言語C++の違いって何ですか? C++は、Cのほぼ全ての仕様を含み、クラス、テンプレート、例外処理など大幅に機能拡張した言語です。 細部の違いが知りたければ、下記を参照してください。 http://www.kijineko.co.jp/tech/cpp2c > このプログラムについて質問なんですが、iostreamってプログラミング言語Cで言うstdio.hのことですか? 違います。 C++にもstdio.hがありますし、cstdioというヘッダもあります。 iostreamヘッダは、cin, cout, cerr, clogとそれらのワイド文字版を宣言するためのものです。 ですので、iostreamヘッダで宣言・定義される関数やクラスを使うだけでは一般的なファイルの操作はできませんし、sprintfやsscanfに相当するものもありません。 また、removeやrenameなど、ストリームとは関係のない操作も含まれていません。 > using namespace stdって何ですか? 「using指令」によって、名前空間stdの中にある名前を大域的名前空間でも使えるようにするものです。 せっかく名前空間を分けているのに、それを無効にしてしまうような機能ですから、安易にusing指令を使うのはお勧めしません。 > あと、 cout <<"Hello world!"って何ですか? 標準出力に対して、文字列"Hello, world!"を出力します。 ちなみに、endlは、改行を出力したあと、バッファにたまった内容を実際に吐き出します(フラッシュします)。単なる改行の出力ではないので要注意です。 C++の仕様は結構大きい方なので、遭遇した記述をひとつひとつ質問していたのではキリがありません。 まずは入門書を一冊読み、わからない用語等については、処理系のリファレンスを読むか、ネットで検索するなどしてください。
その他の回答 (3)
- alwen25
- ベストアンサー率21% (272/1253)
>using namespace stdって何ですか? 標準入出力を使うという意味です。 これを書かないとソース上に stdと何回も書かなければならなくなります。 >cout <<"Hello world!"って何ですか? Hello Worldと表示するという意味です。 #include <cstdio> using namespace std; void main(){ printf "Hello world!" \n } というのでも同じ意味です。
- bajutsu
- ベストアンサー率20% (139/693)
どんな入門書でも書いてありそうなことばかり聞かれてもね・・・ C言語 http://ja.wikipedia.org/wiki/C%E8%A8%80%E8%AA%9E C++ http://ja.wikipedia.org/wiki/C%2B%2B >iostreamってプログラミング言語Cで言うstdio.hのことですか? >using namespace stdって何ですか? >cout <<"Hello world!"って何ですか? ggrks!
- nora1962
- ベストアンサー率60% (431/717)
C++はクラス定義が出来、関数オーバーロードやクラス継承、関数オーバーライドが可能です。基本的にオブジェクト指向を目指したプログラミング言語です。 以前は基本的にCの上位互換でしたが、ISOの規格化の変遷などで今は完全な互換性はなくなりました。 > iostreamってプログラミング言語Cで言うstdio.hのことですか? ある意味似たようなものです。 ただし、iostreamのほうはクラスライブラリがついているのでより高機能です。 cout オブジェクトに << 演算子で各種のデータを出力することができます。 coutは「Console Outut」の略だったかな。endlは「End Line」で改行です。 例えば #include <iostream> using namespace std; int main(){ int i = 100; cout << "I am foo "; cout << "Hello world! i=" << i << endl; return 0; } のような記述も可能です。この場合は「I am foo」では改行しません。 ただし、個人的にはiostreamは数値の出力書式の指定ができないし、オブジェクト指向としてどうも違和感を感じますね。 JavaやC#は結局staticメソッドに戻ってしまいました。