利用可能な場合は内部でC99の可変長配列(VLA)を使用し(GCC)、それ以外の場合はヒープベースを使用する動的なバリアントはありますか?boost::array
質問する
183 次
1 に答える
2
boost::array
テンプレートパラメータに基づいて動作します。テンプレートパラメータを実行時の値にすることはできません。だからいいえ。
また、VLAは、スタック(ObjType val[someInteger];
)で宣言された配列にのみ適用されます。オブジェクト内で宣言された配列には適用されません(struct ObjType { int val[someInteger]; };
したがって、テンプレートパラメータが実行時の値である可能性がある場合でも、役に立ちません。
ヒープを割り当てる余裕がない場合はstd::vector
、事前に割り当てられたメモリの「スタック」からプルするアロケータでを使用してください。
于 2012-04-09T16:56:01.510 に答える