Мне интересно, будут ли эти две строки кода одинаковыми:
shared_ptr<int> sp(new int(1)); // double allocation?
shared_ptr<int> sp(make_shared<int>(1)); // just one allocation?
Если это правда, кто-то может объяснить, почему это только одно распределение во второй строке?