1. ホーム
  2. c++

[解決済み] c++で'std:;'は何をするのでしょうか?

2023-04-11 12:43:14

質問

最近、あるコードを修正したところ、関数内の1行に既存のバグを発見しました。

std:;string x = y;

このコードはまだコンパイル可能で、期待通りに動作しています。

文字列の定義がうまくいくのは、このファイルが using namespace std; であるため、文字列の定義はうまくいきます。 std:: はそもそも不要だったのです。

問題は、なぜ std:; をコンパイルしているのか、そして、もし何かしているとすれば、それは何なのでしょうか?

どのように解決するのですか?

std: のターゲットとして使用できます。 goto .

によって指摘されたように アダム ローゼンフィールド がコメントで指摘しているように、これは法的なレーベル名です。

C++03 §6.1/1:

ラベルは独自の名前空間を持ち、他の識別子と干渉しません。