Как инициализировать значение по умолчанию для string_view с помощью const char - PullRequest
3 голосов
/ 02 июля 2019

У меня есть метод

void func(int bar, std::string_view sv = {})

Но теперь я хочу установить значение sv по умолчанию, используя

const char def = 'X'

Как мне этого добиться?Спасибо!

1 Ответ

6 голосов
/ 02 июля 2019

В одну сторону:

const char def = 'X';
void func(int bar, std::string_view sv = {&def, 1});

Обратите внимание, что std::string_view sv = {&def, 1} создает std::string_view для строки без нулевого терминатора, что может быть или не быть проблемой.

Если вам нужен нулевой терминатор std::string_view, то:

std::string_view const def_sv = "X";
void func(int bar, std::string_view sv = def_sv);

Или просто:

void func(int bar, std::string_view sv = "X");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...