Можно ли использовать std::char_traits <char> в постоянных выражениях до GCC 8?
Согласно примечанию к выпуску GCC 8, теперь можно использоватьstd::char_traits<char>
а также std::char_traits<wchar_t>
в постоянных выражениях:
- Улучшенная экспериментальная поддержка C++17, включая следующие функции:
- std::char_traits и std::char_traits
можно использовать в постоянных выражениях.
Я понимаю, что вы не можете использовать std::char_traits<char>
в постоянных выражениях до GCC 8.
Однако следующий код хорошо компилируется с GCC 7.5:
#include <string_view>
int main() {
constexpr std::string_view sv{""};
constexpr std::size_t size = std::char_traits<char>::length(sv.data());
return 0;
}
Итак, можно ли использовать std::char_traits в постоянных выражениях до GCC 8? Или я что-то упускаю?
1 ответ
Решение
Это улучшение было перенесено из основной ветки. Он доступен в линейке gcc 7 начиная с 7.3.