Сообщение Re[2]: Конкатенация std::string_view ?! от 30.05.2023 12:53
Изменено 30.05.2023 12:54 Videoman
Re[2]: Конкатенация std::string_view ?!
Здравствуйте, Chorkov, Вы писали:
C>Догадка:
C>1) string_view не поддерживает никакие операции с аллокацией памяти.
Это понятно. Из-за этого же разрешено только явное преобразование к стоке.
C>2) Если такое сложение разрешить, велика вероятность сделать ошибку типа:
C>
Это тоже понятно, также как и операция сложения двух нативных строк, тут ничего нового. А почему нельзя к строке прибавлять string_view, а нативную можно? Строка же поддерживает переаллокацию?
C>Догадка:
C>1) string_view не поддерживает никакие операции с аллокацией памяти.
Это понятно. Из-за этого же разрешено только явное преобразование к стоке.
C>2) Если такое сложение разрешить, велика вероятность сделать ошибку типа:
C>
C>std::string_view result = "foo"s + "bar"sv; //< store reference on temporary string
C>
Это тоже понятно, также как и операция сложения двух нативных строк, тут ничего нового. А почему нельзя к строке прибавлять string_view, а нативную можно? Строка же поддерживает переаллокацию?
Re[2]: Конкатенация std::string_view ?!
Здравствуйте, Chorkov, Вы писали:
C>Догадка:
C>1) string_view не поддерживает никакие операции с аллокацией памяти.
Это понятно. Из-за этого же разрешено только явное преобразование к стоке.
C>2) Если такое сложение разрешить, велика вероятность сделать ошибку типа:
C>
Это тоже понятно, также как и операция сложения двух нативных строк, тут ничего нового. А почему нельзя к строке прибавлять string_view, а нативную можно, строка же поддерживает переаллокацию?
C>Догадка:
C>1) string_view не поддерживает никакие операции с аллокацией памяти.
Это понятно. Из-за этого же разрешено только явное преобразование к стоке.
C>2) Если такое сложение разрешить, велика вероятность сделать ошибку типа:
C>
C>std::string_view result = "foo"s + "bar"sv; //< store reference on temporary string
C>
Это тоже понятно, также как и операция сложения двух нативных строк, тут ничего нового. А почему нельзя к строке прибавлять string_view, а нативную можно, строка же поддерживает переаллокацию?