相关疑难解决方法(0)

C++相当于Java的toString?

我想控制写入流的内容,即cout自定义类的对象.这可能在C++中?在Java中,您可以toString()为了类似的目的覆盖该方法.

c++

145
推荐指数
5
解决办法
10万
查看次数

创建用户定义的类std :: to_string(able)

我知道Java或C#似乎太多了.但是,将我自己的类作为函数的输入有效是否可行/好/明智std::to_string?例:

class my_class{
public:
std::string give_me_a_string_of_you() const{
    return "I am " + std::to_string(i);
}
int i;
};

void main(){
    my_class my_object;
    std::cout<< std::to_string(my_object);
}
Run Code Online (Sandbox Code Playgroud)

如果没有这样的东西(我认为那样),最好的办法是什么?

c++ string tostring c++11

28
推荐指数
3
解决办法
1万
查看次数

启用类以与boost :: lexical_cast一起使用

来自lexical_cast的代码片段:

class lexical_castable {
public:
  lexical_castable() {};
  lexical_castable(const std::string s) : s_(s) {};

  friend std::ostream operator<<
    (std::ostream& o, const lexical_castable& le);
  friend std::istream operator>>
    (std::istream& i, lexical_castable& le);

private:
  virtual void print_(std::ostream& o) const {
    o << s_ <<"\n";
  }

  virtual void read_(std::istream& i) const {
    i >> s_;
  }

  std::string s_;
};

std::ostream operator<<(std::ostream& o,
  const lexical_castable& le) {
  le.print_(o);
  return o;
}

std::istream operator>>(std::istream& i, lexical_castable& le) {
  le.read_(i);
  return i;
}
Run Code Online (Sandbox Code Playgroud)

根据文件,

template<typename …
Run Code Online (Sandbox Code Playgroud)

c++ boost lexical-cast

8
推荐指数
1
解决办法
4144
查看次数

标签 统计

c++ ×3

boost ×1

c++11 ×1

lexical-cast ×1

string ×1

tostring ×1