0

namespace stdC++の新しいバージョンでも同じように機能する、標準の名前空間 ( ) の代わりに使用 (インクルード) できる C++ のヘッダー ファイルがあるかどうか知りたいです。名前空間を使用せずにコードを記述でき、文字列データ型を引き続き使用できるかどうかを知りたいです。

4

4 に答える 4

4

string名前空間にあるため、std完全に無視することはできません。

ただし、オプションがあります。

using std::string;
using namespace std;
typedef std::string myString;

//or fully qualify the name
std::string mystr;

これをヘッダーに入れて含めることができます。

では、災害のレシピを教えてあげました。使わないで!

名前空間は良いです。それらをハッキングするのではなく、それらの使用方法を学びましょう。

于 2013-01-29T11:46:16.473 に答える
2

「using namespace std;」を使用するには は悪い考えです (ただし、入力を容易にするために、ここに投稿するサンプルではかなり定期的にこれを行っていることを認めなければなりません)。ヘッダーファイルで同じものを隠すのは、さらに悪い考えです。

名前空間には理由があります。

しかし、たとえば、名前空間標準以前に記述された既存のコードが 100000 行あり、それを新しいコンパイラで使用するためにすぐに移植したい場合は、「using namespace std;」を追加します。各ファイルの先頭に配置することが推奨されるソリューションです。

于 2013-01-29T11:47:55.420 に答える
2

ヘッダーと名前空間は関連がなく、名前空間は良いものです。using namespace std悪い。なしでいつでもstd::stringデータ型を使用できusing namespace std;ます。

于 2013-01-29T11:45:53.300 に答える
0

typedef使用したいクラスを使用できますが、これは本当に悪い考えです。

#include <string>
typedef std::string string;
于 2013-01-29T11:47:23.307 に答える