15

std::alignment_of型特性と、すぐに友達になるstd::alignment_of_v. それらは への単純な呼び出しと同等になるように特別に設計されているようalignofであり、ヘルパーの将来の追加は、_vそれが単なるレガシー ビットではないことを示しています。

std::alignment_ofがある場合、 ( _v)は何に使用されalignofますか?

4

3 に答える 3

17

それらはほぼ完全に冗長です。@Revolverが指摘したように、それらはさまざまな論文で紹介されており、ほぼ逐語的にalignment_of由来しています。boost

しかし、それは特性が役に立たないという意味ではありません。

Atemplate<class...>classは他の s に渡してtemplate、メタプログラミングで使用できます。のような演算子はalignof使用できませんtemplate<class>class alignment_of。メタプログラミング機能に渡す前に、を記述する必要があります。

テンプレートのsizeof必要性についても同じことが言えます。std::size_of<class>

...

の追加は、すべてのタイプのテンプレート_vを一掃し、可変テンプレートを追加したためです。どれが価値があり、どれが自転車小屋の絵であり、ほとんど無意味であるかを考えると、価値のあるものを選ぶのに労力を費やすよりも、すべてを行う方が簡単です. 実行されていることは、機能が廃止されていないという証拠にはなりません。 ::value integral_constantstd_v

于 2016-05-02T13:38:58.610 に答える