为什么to_string没有模板化?

Why Isn't to_string Templatized?

本文关键字:to string 为什么      更新时间:2023-10-16

我认为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因为没有模板化。

不,to_string 不适用于任何类型的。只有基元标准类型的重载。不幸的是,它不能取代boost::lexical_cast