【发布时间】:2020-07-14 13:56:58
【问题描述】:
我们如何使用在一个函数中定义的 const std::string 变量在同一程序的另一个函数中使用。
int sample::convert()
{
fun()
{
//returns string;
}
const std::string sender = fun()
}
void sample::write()
{
//I want to use sender variable here like below
std::string var;
var = sender;
}
【问题讨论】:
-
问题是
sender变量是一个临时变量。您不能在convert()函数之外使用它。 -
@vahancho:如果它具有
static存储持续时间,您也无法访问它(以便携式方式)。 -
还要注意
sender是const并不相关——它仍然只是一个局部变量。每次调用sample::convert,都会创建一个新的sender。 -
您所要求的,确切地说,是无法完成的。当函数返回时,在一个函数中定义的正常变量将不再存在。有几件事做类似的事情,但我们需要知道你的目的是什么,为什么要这样做。
标签: c++