を使用するとはどういう意味new autoですか? 次の式を検討してください。
new auto(5)
動的に割り当てられたオブジェクトの型は何ですか? 返されるポインタの型は何ですか?
を使用するとはどういう意味new autoですか? 次の式を検討してください。
new auto(5)
動的に割り当てられたオブジェクトの型は何ですか? 返されるポインタの型は何ですか?
このコンテキストでは、 にauto(5)解決されint(5)ます。
intに初期化されたヒープから新しいを割り当てています5。
(だから、それは を返していますint *)
許可を得て、Andy Prowl の機知に富んだ回答を引用します。
C++11 標準のパラグラフ 5.3.4/2 によると:
type-specifier がnew-type-idまたはnew-expressionのtype-idのtype-specifier-seqに
auto現れる場合、new - expressionには次の形式のnew-initializerが含まれます。( assignment-expression )割り当てられた型は、次の
eようにnew - initializer から推定されます。考案された宣言 (7.1.6.4)の変数について次のように推定されます。xT x(e);【例:
new auto(1); // allocated type is int auto x = new auto(’a’); // allocated type is char, x is of type char*—<em>例の終了]
C++11 標準のパラグラフ 5.3.4/2 によると:
type-specifier がnew-type-idまたはnew-expressionのtype-idのtype-specifier-seqに
auto現れる場合、new - expressionには次の形式のnew-initializerが含まれます。( assignment-expression )割り当てられた型は、次の
eようにnew - initializer から推定されます。考案された宣言 (7.1.6.4)の変数について次のように推定されます。xT x(e);【例:
new auto(1); // allocated type is int auto x = new auto(’a’); // allocated type is char, x is of type char*—<em>例の終了]
したがって、割り当てられたオブジェクトの型は、発明された宣言の推定型と同じです。
auto x(5)
ですint。