它首先分配 N 字节的内存而不创建对象。然后它使用placement-new来创建控制块(如果需要)和另一个placement-new来创建对象。Placement-new 不分配任何内存,它在预定义的地址创建一个对象。如果没有 `std::make_shared`,你会 . C++ 内存库 - make_shared - 它构造一个 T 类型的对象,将 args 传递给它的构造...