Невозможно установить кнопку возврата на UINavigationController

В то время как движение - очень хороший инструмент в сумке, который позволяет намного больше, чем скорость. При перемещении вы перемещаете объект (очевидно) и не оставляете ничего позади (кроме пустого каркаса или, точнее, построенного по умолчанию объекта). Это заставляет вас думать более тщательно о владении и дизайне программы при перемещении объектов. Вместо множественного доступа к некоторым объектам или совместного использования, движение явно заставляет вас учитывать, кто имеет объект и когда.

Как ранее заявлял Бьярне Страуструп, мы должны прекратить делиться всем и иметь указатели повсюду. Если использование указателей использует unique_ptr, а не shared_ptr, если вы абсолютно не хотите делиться собственностью (что во многих случаях у вас нет). Unique_ptr и его перемещение только (хорошо удаленная копия в любом случае). Конструктор - хороший пример объекта, который должен обеспечивать перемещение и никогда не копировать.

Move is great, и писать конструкторы перемещения - очень хорошая идея, еще лучше, когда msvc ловит и разрешает удаленные / дефолтные декодеры на компиляторе, сгенерированном другим (копировать / назначать и т. д.). Ошибки, подобные попытке получить доступ к ранее удалённому элементу, очень полезны здесь, просто делая некоторые частные конструкторы менее очевидными намерениями для поддерживающего код. В случаях, когда копия в порядке, но предпочитайте двигаться, компилятор, мы надеемся, захочет переместиться, когда это возможно (т. Е. Протестируйте с помощью vector.push_back, который будет с некоторыми компиляторами перемещаться или emplace_back, если это разумно, покупая мгновенную прирост производительности), поэтому объекты-конструкторы экземпляров, может быть выбран автоматически выбранный конструктор перемещения, улучшая производительность (хорошо игнорируя все обсуждения SSO, которые бушуют в данный момент). Это достойный ответ peruse

. Есть несколько довольно тяжелых потоков в списке рассылки boost о преимуществах / недостатках перемещения / копирования и передачи по значению / ссылке, которые все очень много говорят о похожих проблемах, если вы ищете дополнительную информацию.

0
задан user3335999 27 February 2019 в 07:04
поделиться