У меня есть программа на С++, которая использует std:: list, содержащий экземпляры класса. Если я звоню, например. myList.push_back(MyClass(variable));
он проходит процесс создания временной переменной, а затем сразу же копирует его в вектор, а затем удаляет временную переменную. Это не так эффективно, как я хочу, и отстой, когда вам нужна глубокая копия.
Мне бы хотелось, чтобы конструктор моего класса new
что-то и не должен был реализовывать конструктор копирования, просто чтобы выделить мою память во второй раз и тратить время выполнения. Мне также не нужно было бы немедленно найти экземпляр класса из вектора/списка, а затем вручную выделить память (или сделать что-то ужасное, как выделить память в самом конструкторе копирования).
Есть ли способ обойти это (я не использую Visual Studio BTW)?