検索

ホームページ  >  に質問  >  本文

C++ - ライブラリの配置によって予約されているこの具体的な実装は何ですか?

リーリー

演算子 new のさまざまな形式を学習するときに遭遇しました (C++ 入門書ではあまり説明されていませんでした)が、この関数呼び出しを使用して実装する方法など、この関数の役割を理解できませんでした placement new的构造效果, 比如这样two *abc = new(m) two(10);(この構造は見たのですが)実際、上記の関数も呼び出されます)、およびテスト例は次のとおりです (問題はコメントされています):

リーリー

ここで問題をさらに単純化して詳しく説明します:

  1. この関数が構築の効果を達成できる理由は、 two *abc = new(m) two(10);为例, 我没有(或者说不知道怎么在step into进去)能看清具体实现, 虽然我知道抽象出来就是实现了就地构造了two(10)このオブジェクトです。

  2. 同じ効果を得るためにmain()函数注释处这样直接调用函数的做法来实现就地构造, 我该如何修改参数和传入参数实现 two *abc = new(m) two(10);を使用したらどうなりますか?

追記:

怪我咯怪我咯2791日前834

全員に返信(1)返信します

  • 伊谢尔伦

    伊谢尔伦2017-05-16 13:32:16

    /q/10... @felix Dashi がこの質問に対してすでに回答しています。私はそれを考えて関連コンテンツを検索します

    返事
    0
  • キャンセル返事