No.4ベストアンサー
- 回答日時:
> これからは<iostream.h>を使うのは良くないことで
良くないというか、時代遅れになりつつあります。
> <iostream>を使うのが正式となるのでしょうか?
yes
No.3
- 回答日時:
Borland C++ 5.5 なら問題ないはずなんだけど...
#include <iostream>
int main() {
std::cout << "Hello, world" << std::endl;
return 0;
}
これ、コンパイル/実行できませんか?
動きました
<iostream>
は使えるようです
おっしゃる通りです
省略名にすると
<iostream>
で確かにとするとエラーがでます
しかし
<iostream.h>
とするとエラーがでません
これからは<iostream.h>を使うのは良くないことで
<iostream>を使うのが正式となるのでしょうか?
よろしくお願いします
No.2
- 回答日時:
>(A)using std::string
>...
> ということですが私は(A)の宣言をしないで
> cout << "Hellow, world! << endl;
> と書いたりしています
> これはいけないことなのでしょうか?
コンパイラは何をお使いでしょうか?
処理系によっては旧いコードが通ります。
あるいは <iostream> ではなく、旧い <iostream.h>
を #include していませんか?
もしくは コードのどこかで using namespace std; していませんか?
> またSTLはstdに空間内にあるのでしょうか?
yes
この回答への補足
コンパイラは何をお使いでしょうか?:
Borland C++ ver.5.5(フリー)です
処理系によっては旧いコードが通ります。:
Borland C++ ver.5.5(フリー)は古いのでしょうか?
今度のver.6も古いのでしょうか?
Builderだとokなのでしょうか?
だとするとマイクロソフトよりもいいものを出してきたのに残念ですね
あるいは <iostream> ではなく、旧い <iostream.h> を #include していませんか?
<iostream.h>です
最初は<iostream>をインクルードしてみたのですがエラーになりました
(他に何か悪い事をしていたのかもしれません)
もしくは コードのどこかで using namespace std; していませんか?
これはしていません
コンパイラに怒られるまではするつもりはないのです
よろしくお願いします
No.1
- 回答日時:
とりあえず以下のように回答いたします。
わからないところがありましたら、補足などで再質問してください。【 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++ 標準ライブラリ用の名前空間名です。
例えば、文字列を扱うクラスは、std::string, 標準出力ストリーム(ここに出力の操作をすると、標準出力装置に出力される)は std::cout という名前です。
【 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++ のソースを標準準拠のコンパイラにかけるときなどに、限定して使うことが推奨されています。
以上の説明は、概略のものです。特に、名前空間名をいつ省略できるか、省略した場合どのように解釈されるかについては注意が必要です。
この回答への補足
(A)using std::string
(A)using std::cout
(A)using std::endl
と宣言すると
(B)string str;
(B)cout << "Hellow, world! << endl;
と使えるようになります。
ということですが私は(A)の宣言をしないで
cout << "Hellow, world! << endl;
と書いたりしています
これはいけないことなのでしょうか?
またSTLはstdに空間内にあるのでしょうか?
よろしくお願いします
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C++初心者です stirng 2 2022/09/20 20:43
- C言語・C++・C# C++プログラミングコードにポリモーフィズムを取り入れ方を教えてください。 2 2023/06/09 11:17
- C言語・C++・C# C++のcinの動作 5 2023/02/26 00:13
- C言語・C++・C# メインプログラムに#include <algorithm>を書いて、 そのメインプログラムが // 3 2023/05/02 11:24
- C言語・C++・C# このプログラミング誰か教えてくれませんか 3 2022/05/13 17:27
- C言語・C++・C# PC画面を録画するプログラムでdllの読み込みエラー 1 2023/04/22 08:31
- C言語・C++・C# このプログラミング誰か教えてくれませんか 2 2022/05/14 09:45
- C言語・C++・C# このプログラミング誰か教えてください 9 2022/04/22 18:50
- C言語・C++・C# Windows Formアプリからコンソールを呼び出して文字を出力させたい 8 2023/05/09 10:53
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
enumの値から定義名を文字列化...
-
#include "fstream.h"
-
指定した文字を削除したい
-
VC++で文字列から任意の文字を...
-
switch文のエラーについて
-
CStdioFile での数値データの読...
-
構造体配列のvectorへの変換と...
-
C++で行列とベクトルの積を求める
-
C言語 ストリームについて。
-
#define中の#のエスケープ
-
C++のifstreamの使い方
-
なぜ、C++の標準ヘッダをインク...
-
atlbase.h と afxwin.hの同時定義
-
JPEGやPNGが読めるLoadImage関数
-
C++でShowCursorを使いたい。
-
マイナスからプラスへ転じた時...
-
Notepad++の関数リスト表示の変...
-
DWORDの実際の型は何でしょうか
-
「指定されたキャストは有効で...
-
C言語での引数の省略方法
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
std::map の const 修飾について
-
構文エラーが出ているのですが...
-
switch文のエラーについて
-
enumの値から定義名を文字列化...
-
VC++で文字列から任意の文字を...
-
構造体配列のvectorへの変換と...
-
wstringの主力
-
vectorのイテレータを大小比較...
-
std::wstringのメモリリークに...
-
opencvを使って画像比較
-
ヘッダーファイルがインクルー...
-
C++で2次元配列charをループしたい
-
【C++】ヘッダ内でstringを格納...
-
#define中の#のエスケープ
-
リモートデスクトップの接続元I...
-
string型のフォーマット書式指...
-
ファイル名のリスト取得について2
-
C++での <iostream.h>と<iostre...
-
gccでコンパイル時のエラー
-
C言語 ストリームについて。
おすすめ情報