【问题标题】:Convert int& to string [duplicate]将 int& 转换为字符串 [重复]
【发布时间】:2017-05-07 04:53:19
【问题描述】:

这对于普通的 C++ 用户来说可能看起来微不足道,但我目前正在重新学习 C++。我有一个接受int& 的函数,我想将该值添加到打印语句的字符串中。所以,我有这样的事情:

std::string getTest(void* dataGroup, int& xWidth, int& yHeight)
{
     std::string results = "";

     results += "\nxWidth is: " + xWidth;

     return results;
}

当我调用它时它无法运行。将传递引用的 int& 值转换为可以添加到字符串的形式的正确方法是什么?

【问题讨论】:

标签: c++ string int pass-by-reference


【解决方案1】:

std::to_string(xWidth).

& 几乎无关紧要。 to_string 按值获取 int,因此您的函数如何获取它并不重要:按值、左值引用、右值引用、const 或非const... 都可以。

【讨论】:

  • 还应该注意的是,在这种情况下采用int& 是没有意义的,因为您没有更改它,并且它最终将具有相同的大小(在某些情况下可能甚至更小)才能通过它作为价值。
猜你喜欢
  • 2015-06-18
  • 1970-01-01
  • 2012-01-24
  • 2013-11-04
  • 2021-12-25
  • 2016-07-07
  • 1970-01-01
  • 1970-01-01
  • 2020-08-27
相关资源
最近更新 更多