返回字符串值的不同方法

时间:2017-05-18 12:56:03

标签: c++

所以我有这个功能,我需要传递字符串“1”,我有2种方法可以做到:

String func(){
  String result = "1";
  return result;
}

String func(){
   String result = SerializeAsString(1);
   return result;
}

其中:

inline std::string SerializeAsString(const T& obj) {
        return std::string(reinterpret_cast<const char*>(&obj), sizeof(obj));
    }

我知道这可能是一个愚蠢的问题,但是哪种编码方式被认为更好?

谢谢

3 个答案:

答案 0 :(得分:1)

我会选择第一种方法。我没有看到方法2的重点。在我的经​​验中,保持简单和可读性是最好的编码风格。

答案 1 :(得分:1)

你没有通过&#34; 1&#34; - 你从功能回来了。如果你需要返回&#34; 1&#34;从一个你可以简单地做的功能

String func(){
    ....
    return "1";
}

无需存储&#34; 1&#34;在一些变量中。

答案 2 :(得分:0)

您列出的第一种方法是大多数字符串函数的标准方法。

String foo(){
string bar = "This is my string";
return bar;
}

返回:“这是我的字符串”

String foo(){
//Your code here...
return "bar";
}

返回:“bar”

没有真正的方式必然比另一方好,这取决于你想要实现的目标。对于简单的字符串,我通常更喜欢这种方法,因为它简洁明了。