Вроде разобрался. Оказывается короткие строки до 16 символов копируются в новое расположение, даже при вызове конструктора перемещения. Кстати забавно компилятор решил, что такой тупой код быстрее копирования одного указателя
Код | 00E45E6C > \8B448E E4 MOV EAX,DWORD PTR DS:[ESI+ECX*4-1C] 00E45E70 . 89448F E4 MOV DWORD PTR DS:[EDI+ECX*4-1C],EAX 00E45E74 > 8B448E E8 MOV EAX,DWORD PTR DS:[ESI+ECX*4-18] 00E45E78 . 89448F E8 MOV DWORD PTR DS:[EDI+ECX*4-18],EAX 00E45E7C > 8B448E EC MOV EAX,DWORD PTR DS:[ESI+ECX*4-14] 00E45E80 . 89448F EC MOV DWORD PTR DS:[EDI+ECX*4-14],EAX 00E45E84 > 8B448E F0 MOV EAX,DWORD PTR DS:[ESI+ECX*4-10] 00E45E88 . 89448F F0 MOV DWORD PTR DS:[EDI+ECX*4-10],EAX 00E45E8C > 8B448E F4 MOV EAX,DWORD PTR DS:[ESI+ECX*4-C] 00E45E90 . 89448F F4 MOV DWORD PTR DS:[EDI+ECX*4-C],EAX 00E45E94 > 8B448E F8 MOV EAX,DWORD PTR DS:[ESI+ECX*4-8] 00E45E98 . 89448F F8 MOV DWORD PTR DS:[EDI+ECX*4-8],EAX 00E45E9C > 8B448E FC MOV EAX,DWORD PTR DS:[ESI+ECX*4-4] 00E45EA0 . 89448F FC MOV DWORD PTR DS:[EDI+ECX*4-4],EAX |
|