独自のアロケータを定義することにより、整列されたヒープメモリを割り当てるstd::vectorを割り当てることができます。declspec alignを使用して、スタックにcスタイルの配列を割り当てることができます。しかし、インデックス0の要素が整列されることを保証するtr1 :: arrayを宣言できますか?
1104 次
1 に答える
7
tr1::array
(およびstd::array
およびboost::array
) は POD であるため、コンテンツが占有するメモリは のメモリと一致しますarray
。したがって、必要に応じて割り当て、array
placement で構築しますnew
。
typedef std::tr1::array< MyClass, ary_sz > AryT;
void *array_storage = aligned_allocation( sizeof( AryT ) );
AryT *ary = new( array_storage ) AryT( initial_value );
于 2010-08-25T10:27:41.133 に答える