Разглядывая содержимое <xmemory> (VS2017) увидел странные конструкции:
for (; 0 < _Count; --_Count, (void)++_First)
//....
for (; _First != _Last; ++_Dest, (void)++_First)
Зачем здесь (void)?
А в <xmemory> VS2015 увидел вот такое:
for (; 0 < _Count; --_Count, (void)++_Dest, ++_First)
Вообще не понятно ...
----
Может это типа новое слово в подсказках оптимизатору компилятора?
То есть, мы как бы говорим, что нам не интересен результат оператора ++ и соответствующий (процессорный) код ( return *this; ) можно не генерировать?
Это единственное объяснение, которое пришло в мне в голову
-- Пользователи не приняли программу. Всех пришлось уничтожить. --