Почему не темная строка?

Я думал так to_string был просто шаблонизирован и использован stringstream под капотом.

Разве это не так?

Я хочу быть в состоянии сделать это:

class foo{};

ostream& operator<<(ostream& os, const foo& /*bar*/){
    os << "foo";
    return os;
}

int main() {
    foo bar;
    string tsTest = to_string(bar);

    return 0;
}

Но очевидно, что это не работает, потому что to_string не шаблонизируется.

1 ответ

Решение

Нет, to_string не для любого типа. Существуют только перегрузки для примитивных стандартных типов. Это не замена boost::lexical_cast к несчастью.

Другие вопросы по тегам