C++构造shared_ptr为什么推荐使用make_shared,而非new? make_shared 在构造 shared_ptr 的时候,会一次性分配两块内存,一块用于存储对象本身,另一块用于存储引用计数(shared_ptr 的控制块)。 而使用 new 时,内存分配是分开的,需要两次分配:一次为对象分配内存,另一次为引用计数块分配内存。
make sb do 、make sb to do 、make sb doing三者有什么本质上区别? make sb do sth 这个"do sth"是“不带to的不定式”。也就是说:make sb do sth=make sb to do sth 但英语中只说:make sb do sth 二,make sb do sth的意思是“让某人做某事”,常包含有强迫某人做某事的意味,比如:Our boss made us do more extra job out of our duty