std::is_trivial
提供:cppreference.com
|
|
This page has been machine-translated from the English version of the wiki using Google Translate.
The translation may contain errors and awkward wording. Hover over text to see the original version. You can help to fix errors and improve the translation. For instructions click here. |
| Defined in header <type_traits>
|
||
| template< class T > struct is_trivial; |
(C + + 11以来) | |
Tは些細な型である場合(つまり、スカラー型、自明なデフォルトコンストラクタを持つ自明にコピー可能なクラス、またはそのような型/クラスの配列であり、おそらくCV修飾)、メンバーが一定提供value等しいtrueを。その他のタイプのために、valuefalseです.Original:
If
T is a trivial type (that is, a scalar type, a trivially copyable class with a trivial default constructor, or array of such type/class, possibly cv-qualified), provides the member constant value equal true. For any other type, value is false.The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
目次 |
Inherited from std::integral_constant
Member constants
| value [静的] |
true T is a trivial type もし、そうでなければfalse Original: true if T is a trivial type , false otherwise The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (公共の静的メンバ定数) |
Member functions
| operator bool |
boolにオブジェクトは、 value返しに変換します Original: converts the object to bool, returns value The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (パブリックメンバ関数) |
Member types
| タイプ
Original: Type The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
Definition |
value_type
|
bool
|
type
|
std::integral_constant<bool, value> |
[編集] ノート
些細なタイプのオブジェクトだけが、(配列を含む)std::mallocへの呼び出しによって作成されるかもしれません.
Original:
Only objects (including arrays) of trivial type may be created by a call to std::malloc.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
[編集] 可能な実装
template< class T > struct is_trivial : std::integral_constant< bool, std::is_trivially_copyable<T>::value && std::is_trivially_default_constructible<T>::value > {}; |
[編集] 例
#include <iostream> #include <type_traits> struct A { int m; }; struct B { B() {} }; int main() { std::cout << std::boolalpha; std::cout << std::is_trivial<A>::value << '\n'; std::cout << std::is_trivial<B>::value << '\n'; }
Output:
true false
[編集] も参照してください
| (C++11) |
checks if a type is trivially copyable (クラステンプレート) |