Есть история, которая разочаровывает. Но и будущее, которое выглядит ярко.
Когда семантика перемещения вошла в C ++ 11, она была огромной, противоречивой и подавляющей. Я хотел иметь возможность перемещать строки в и из stringstream
. Однако тогдашняя политика требовала, чтобы внутреннее хранилище не имело , чтобы быть basic_string<charT>
. Например, внутреннее хранилище может быть vector
. И не было возможности контролировать вещи с помощью распределителя. В любом случае, необходимость была признана во временном интервале C ++ 11, но это был просто мост слишком далеко.
К счастью, Питер Соммерлад поднял провал с P0408 . Это предложение добавляет функциональность, которую вы ищете, надеемся, для C ++ 20, но это еще не определено. Он успешно прошел через LEWG и сейчас находится на столе LWG. Они не добрались до этого месяца в Рапперсвиле, просто из-за перегруженного графика. Я надеюсь, что это пройдет через LWG и полное голосование в комитете. Это, безусловно, будет иметь мой голос.