問題CPP00014の解答例と解説 C++ Lv.1
名前空間の宣言(10分)
<解答例 1>
F11キーでフルスクリーンモード、Escキーで元に戻ります。
これは問題文にある解答そのままだよ。これでstd::を省略することができるからすっきりするよね。
そもそもなんで std:: なんてものが必要かというと、関数とかクラスとかはプログラマは好きなように作ることができるから、標準ライブラリとか、他の誰かが作ったものと同じ名前になってしまったときにコンパイラが間違った方を使っちゃうことになるかもしれないからなんだ。例えば、ほかの誰かが cout とか endl とかを作った場合、標準ライブラリのものなのか、その誰かのものなのか、わからなくなっちゃうよね。
だから名前空間というのをつけておいて、この名前空間さえ同じにならなければ、どちらかが識別できるようになるんだ。std:: というのは、C++の標準ライブラリの名前空間だよ。
けれども逆に今度は、毎回、名前空間をつけていたらソースコードが読みにくくなるから、「ここから下は、特に指定がなければ、この名前空間ということにするよ」という宣言を using namespace ですることができるんだ。
そもそもなんで std:: なんてものが必要かというと、関数とかクラスとかはプログラマは好きなように作ることができるから、標準ライブラリとか、他の誰かが作ったものと同じ名前になってしまったときにコンパイラが間違った方を使っちゃうことになるかもしれないからなんだ。例えば、ほかの誰かが cout とか endl とかを作った場合、標準ライブラリのものなのか、その誰かのものなのか、わからなくなっちゃうよね。
だから名前空間というのをつけておいて、この名前空間さえ同じにならなければ、どちらかが識別できるようになるんだ。std:: というのは、C++の標準ライブラリの名前空間だよ。
けれども逆に今度は、毎回、名前空間をつけていたらソースコードが読みにくくなるから、「ここから下は、特に指定がなければ、この名前空間ということにするよ」という宣言を using namespace ですることができるんだ。
初めての方へ:このページは、このサイトで用意しているプログラミング問題の解答と解説のページです。このサイトではブラウザ上からプログラミングができます。会員登録(無料)して、プログラミングしてみませんか?
新規登録