Информация об изменениях

Сообщение Re: std::to_string от 17.05.2025 9:58

Изменено 17.05.2025 10:01 rg45

Re: std::to_string
Здравствуйте, Marty, Вы писали:


M>ADL — не работает. Вернее, конечно же работает для моих типов, когда я пишу to_string(myTypeVal), но это вполне ожидаемо не работает для встроенных типов. Как быть?

M>По std::to_chars — вопрос аналогичный (да и по всем подобным кейсам)

Как вариант:


namespace my {

using std::to_string;

std::string to_string(const MyTypeVal& t) { return /* . . . */;}

// Ну и вызываешь уже без явной квалификации "std::"
// При этом подключится и ADL
void foo() {
   auto item = makeObj(/*...*/);
   to_string(item); 
}

} // namespace my
Re: std::to_string
Здравствуйте, Marty, Вы писали:


M>ADL — не работает. Вернее, конечно же работает для моих типов, когда я пишу to_string(myTypeVal), но это вполне ожидаемо не работает для встроенных типов. Как быть?

M>По std::to_chars — вопрос аналогичный (да и по всем подобным кейсам)

Как вариант:


namespace my {

using std::to_string;

std::string to_string(const MyTypeVal& t) { return /* . . . */;}

// Ну и вызываешь уже без явной квалификации "std::"
// При этом подключится и ADL
void foo() {
   auto item = makeObj(/*...*/);
   std::cout << to_string(item) << std::endl; 
}

} // namespace my