[解決済み] 無名名前空間の静的に対する優越性?
2022-05-11 08:37:01
質問
無名名前空間の優位性は?
static
キーワードは何ですか?
解決方法は?
基本的にはC++03標準の§7.3.1.1/2の項を参照しているのですね。
<ブロッククオートstatic キーワードの使用は でのオブジェクトの宣言は非推奨です。 名前空間スコープを使用します。 unnamed-namespaceは、より優れた の代替となります。
なお、この段落はC++11で既に削除されています。
static
関数は
規格に基づく
もはや非推奨ではありません
それにもかかわらず、無名の
namespace
は、静的キーワードより優れています。
static
にのみ適用されます。
変数
の宣言と関数にではなく、ユーザー定義の
類
.
以下のコードは、C++で有効です。
//legal code
static int sample_function() { /* function body */ }
static int sample_variable;
しかし、このコードは有効ではありません。
//illegal code
static class sample_class { /* class body */ };
static struct sample_struct { /* struct body */ };
だから、解決策は、無記名(匿名)
namespace
という、これです。
//legal code
namespace
{
class sample_class { /* class body */ };
struct sample_struct { /* struct body */ };
}
なぜ無名なのかが説明されるといいのですが
namespace
が優れている。
static
.
関連
-
[解決済み】c++でstd::vectorを返すための効率的な方法
-
[解決済み】1つ以上の多重定義されたシンボルが見つかる
-
[解決済み] explicit キーワードの意味は?
-
[解決済み] 文字列の単語を反復処理するにはどうすればよいですか?
-
[解決済み] using namespace std;」はなぜバッドプラクティスだと言われるのですか?
-
[解決済み] Pythonで静的なクラス変数は可能ですか?
-
[解決済み] usingディレクティブはネームスペースの内側と外側のどちらを使うべきですか?
-
[解決済み] 静的クラスとシングルトンパターンの違い?
-
[解決済み] C言語における「static」の意味とは?
-
[解決済み] 無名/匿名の名前空間と静的関数の比較
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】構造体のベクター初期化について
-
[解決済み】LLVMで暗黙のうちに削除されたコピーコンストラクタの呼び出し
-
[解決済み】C++ - 解放されるポインタが割り当てられていないエラー
-
[解決済み】C++でユーザー入力を待つ【重複あり
-
[解決済み】抽象クラス型の無効なnew-expression
-
[解決済み] 既に.objで定義されている-二重包含はない
-
[解決済み] 非静的データメンバの無効な使用
-
[解決済み] 数値定数の前にunqualified-idを付けて、数値を定義することを期待する。
-
[解決済み] 無名/匿名の名前空間と静的関数の比較
-
[解決済み】C言語の「static」関数とは?