前に、私はNodeJSとV8ソース、particulary node_contextify.cc
ファイルを読んでいた、と私は次の行を理解することができませんでした:奇妙なC++構文:型定義関数呼び出し
Context::Scope context_scope(debug_context);
を私はContext::Scope
ことが何であるかを理解していません関数呼び出しのように見える前に。私はそれが関数コードであり、if
と他の呼び出しと一緒に宣言であるとは思わない。
コンプリート関連するコード:
...
if (debug_context.IsEmpty()) {
// [... lines removed for brevity ...]
}
Context::Scope context_scope(debug_context);
MaybeLocal<Script> script = Script::Compile(debug_context, script_source);
if (script.IsEmpty())
return; // Exception pending.
args.GetReturnValue().Set(script.ToLocalChecked()->Run());
}
...
そのContext::Scope
の意味は何ですか?
さらなる情報:
ファイル:node/node_contextify.cc(線268がハイライトされています)。
構文についての基本的な質問ですが、私はそれを呼び出す方法も知らないので、Google、StackOverflowまたはC++リファレンスで結果を見つけることができませんでした。
質問タイトルは、検索時の私の試みの1つです。
それは名前空間です。スコープは、名前空間コンテキスト内で定義された型です。詳細については、http://en.cppreference.com/w/cpp/language/namespaceを参照してください。 –
あなたは['scope resolution operator'](https://msdn.microsoft.com/en-us/library/b451xz31.aspx)を探しています。 –
ありがとう、ケンとウォン!私は名前空間について知っていましたが、この種の初期化については知りませんでした。 @jdigitalが答えました=) –