何かありますか、もしそうなら、どれですか?
3 に答える
「パラダイムシフト」とはどういう意味ですか?
C ++ 0xには、もちろんプログラムの作成方法を変える多くの新機能が導入されています。
使用される構文に大きな影響を与える可能性のあるものはほとんどありませんが、セマンティクスはそれほど変わりません。例としては、ラムダ関数と範囲ベースのforループがあります。これらは、私たち全員がすでに行っていることに対してより良い構文を提供します。
次に、物事の仕組みを変える大きなものがあります。特に:
右辺値参照を使用すると、オブジェクトの動作と使用方法について別の方法で考えることができます。おそらく、オブジェクトを値で渡す(および返す)方が簡単です。
明示的な変換演算子を使用すると、変換演算子を定義できますが、C++03でこれを行うのは危険でした。
実はそうだと思いますが、パラダイムシフトがあります。警告:私はC++でオブジェクト指向コードを書いたことがありません。
パラダイムシフトを可能にする可能性のある変更は、スマートポインターの標準化ですstd::shared_ptr
。最後に、標準ライブラリには、適切に実装された、効率的で、おそらくバグのない共有ポインタが含まれていますか。
C ++の専門家は、それらを正しく理解することがどれほど難しいか、そして参照カウントポインタのほとんどのライブラリ実装にはおそらく微妙なバグが含まれていることを知っています。したがって、会社がBoostの使用を禁止している場合でも、最終的に信頼性の高い実装を行うことが重要です。
これは、メモリリークの数に劇的な影響を与える可能性があります。オブジェクト指向C ++アプリケーションがメモリリークを停止した場合、それはパラダイムシフトになります。
一方、OOPコードで独自のスマートポインターを使用している企業は、いずれにせよ、今後10年間でC++0xに切り替えることはおそらくないでしょう。
(これは繰り返し誤解されているため、もう一度強調しておきます。私は、スマートポインターのテクノロジをパラダイムシフトとは呼んでいません。オブジェクト指向アーキテクチャでは、メモリリークが完全になくなることを指しています。)
C ++ 0xは新しいパラダイムを導入せず、パラダイムを変更しません。
編集:ただし、これらのパラダイムの実装は、最初に、可変個引数テンプレートと右辺値参照によってかなり大きな変更が加えられる可能性があります。