Uniform イニシャライザと最も厄介な解析について理解する
C 11 では、Uniform イニシャライザはオブジェクトとデータ構造を初期化するための簡潔な構文を提供します。ただし、これらの使用法は、「最も厄介な解析」として知られる潜在的なあいまいさにつながる可能性があります。
最も厄介な解析
次のコード スニペットを考えてみましょう:
<code class="cpp">#include<iostream> class Timer { public: Timer() {} }; int main() { auto dv = Timer(); // What is Timer() ? And what type is dv? int time_keeper(Timer()); // This is a function right? And why isn't the argument " Timer (*) ()"? return 0; }</code>
分析:
dv = Timer();
int time_keeper(Timer());
結論:
「最も厄介な解析」シナリオでは、コンパイラーは、文脈やルールに基づいた表現。これらのルールがどのように適用されるかを理解することで、プログラマーは曖昧さを避け、明確な意図を持ってコードを書くことができます。
以上が最も厄介な解析は何ですか?C 11 でなぜそれが起こるのですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。