Closed pavelkryukov closed 2 years ago
Для двусвязного списка std::list в n4901 в описании метода merge есть такая ремарка:
std::list
merge
Effects: If addressof(x) == this, does nothing;
addressof(x) == this
Для односвязного списка std::forward_list об этом случае ничего не сказано. Из-за этого поведение имплементаций различно:
std::forward_list
Поэтому предлагается:
std::forward_list::merge
https://cplusplus.github.io/LWG/issue3088
В GCC отправил патч: https://github.com/gcc-mirror/gcc/commit/52ebc2be0990d6d3a46bb716164f9cef6f661021
Для двусвязного списка
std::list
в n4901 в описании методаmerge
есть такая ремарка:Для односвязного списка
std::forward_list
об этом случае ничего не сказано. Из-за этого поведение имплементаций различно:Поэтому предлагается:
std::forward_list::merge
(что предпочтительнее).