【发布时间】:2015-10-26 23:39:00
【问题描述】:
在Java 中,标准是定义方法toString() 来返回一个类的字符串表示。除了重载operator<<,C++ 中有没有这样的标准?我知道有 std::to_string() 方法可以获取数字的字符串表示形式。 C++ 标准是否提到定义方法to_string() 以服务于类的类似目的,或者是否有 C++ 程序员遵循的常见做法?
【问题讨论】:
-
似乎需要
toString()方法的结构会被那些不需要的结构压倒。只是我的意见。 -
你希望这个'标准'方法的效果是什么?在 C++ 中,没有标准的方法来定义“转换为字符串”(这通常是不可能的),因此也没有标准的方法来请求这种转换。
-
本题:“除了标准的方式,还有标准的方式吗?”
-
operator std::string() const;打我 -
感谢大家的评论和见解。我不是在寻找这样的方法会做什么(如在返回的字符串中会做什么),但更重要的是,一个被商定的“通用”方法名称(因此是标准)。如果一个类编写者决定提供一个返回类的字符串表示的方法,至少在方法名称上有某种约定(可以是 to_string、toString 等)。我认为 to_string 将是一个不错的选择,因为 std 已经为原始整数类型提供了此类方法。