忍者ブログ
[PR]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。


2024/11/23 08:54 |
ヘッダ部分?

iostreamについて

iostreamとは?
<iostream>ライブラリはいくつかの標準オブジェクトを自動的に定義する。

cin
標準入力

cout
標準出力

cerr
標準エラー出力

clog
バッファを使うcerr

抽出子(入出力演算子)

>>
入力演算子
例)cin >> 変数
※>>を使用するのはcinのみっぽい。他は<<でOK。

<<
出力演算子
例)cout << 変数

*****
using namespace std; について
***
namespace
プログラム要素(関数やクラスなど)を一纏めにするためのもの。
「名前空間」と訳されてる。
いまはまだよくわからんが、例

名前としてこの OKWeb /教えて! goo のカテゴリーを参考にすると、
次のようになります。

namespace education {
   class economy;
   void literature();
}

namespace society {
   class economy;
   double energy ();

 すると、名前は上から順に、
   education::economy
   education::literature
   society::economy
   society::energy
になります。
 効用としては、名前の衝突が避けられます。たとえば、
   education::economy
   society::economy
は全く別のものてす。

***
std
C++標準ライブラリ用の名前空間名。
名前空間を使うと、正式な名前は長くなり、
プログラムの読みやすさを損なうことがあります。
これを避けるために、using 宣言と using ディレクティブがあります。

***
using
using 宣言をすると、それ以後そのスコープでは
名前空間名を省略することができます。
例えば、using 宣言がなければ、
   std::string str;
   std::cout << "Hellow, world! << std::endl;
と書かなければ、標準準拠のコンパイラではエラーになりますが、
( endl を実行すると、改行してフラッシュする)

(A)using std::string
(A)using std::cout
(A)using std::endl

と宣言すると、std:: を省略して、

(B)string str;
(B)cout << "Hellow, world! << endl;

と使えるようになります。
  using ディレクティブを使うと、その名前空間のプログラム要素は、
全て名前空間名を省略することができるようになります。例えば、

using namespace std;

と宣言すると、いちいち(A)を全て書かなくても(B)が書ける
(コンパイル・エラーにならない)ようになります。

using ディレクティブを使うと名前が衝突する可能性が増えるので、
新たにコーディングする場合は使うべきではないそうです。
名前空間がなかった昔の C++ のソースを標準準拠のコンパイラに
かけるときなどに、限定して使うことが推奨されています。

以上の説明は、概略のものです。
特に、名前空間名をいつ省略できるか、
省略した場合どのように解釈されるかについては注意が必要です。

*****
using namespace std;
これが名前空間のstdを使うって宣言なのはわかった。
でも、stdの名前空間内に入ってるものって何なのかがよくわからない。

まだわからなくてもいいのかな。いいということにしとこう。

PR

2009/02/25 20:40 | Comments(0) | TrackBack() | プログラム

トラックバック

トラックバックURL:

コメント

コメントを投稿する






Vodafone絵文字 i-mode絵文字 Ezweb絵文字 (絵文字)



<<作ってみたいものリスト | HOME | データ型のまとめ(C++)>>
忍者ブログ[PR]