std::is_pod
C++20 では非推奨となりました。
この選択の理由は何ですか?std::is_pod
型が実際に POD であるかどうかを確認するには、 の代わりに何を使用すればよいですか?
ベストアンサー1
PODは、よりニュアンスのある2つのカテゴリーに置き換えられます。2017 年 11 月の C++ 標準会議これについてこう言いました。
「プレーン オールド データ」(POD) の概念は非推奨になりました。これは、より微妙な違いのある 2 つのカテゴリ「trivial」と「standard-layout」に置き換えられました。「POD」は「trivial and standard layout」と同等ですが、多くのコード パターンでは、「trivial」または「standard layout」のみに狭く制限することが適切です。そのため、このような正確さを奨励するために、「POD」の概念は非推奨になりました。ライブラリ特性 is_pod も、同様に非推奨になりました。
単純なデータ型の場合は、is_standard_layout
関数、単純なデータ型(単純な構造体など)の場合は、is_trivial
関数。