c++ - 减少用函数值定义的变量的值
问题描述
我正在寻找一种方法来减少从函数中获取其值的变量的值。然而,直到现在我还没有想到任何事情。
按照它的编写方式,当前的代码将始终返回函数的值。
std::string Barger::ShowMessage() {
int var = Barger::get().var();
char mes[20];
sprintf_s(mes, sizeof(mes), "Value Var %d", var--);
return std::string(mes);
}
我需要的是,每次std::string Barger::ShowMessage()
执行函数时,它都会从变量中减少-1,但函数Barger::get().var()
不允许这样做。
解决方案
您不会将结果保存operator--
在局部变量中以外的任何地方,因此每次调用时ShowMessage()
,您都会一次又一次地检索相同的原始值。您需要更多类似以下的内容,如果您还没有,则必须添加:
std::string Barger::ShowMessage() {
int var = Barger::get().var();
char mes[20];
sprintf_s(mes, sizeof(mes), "Value Var %d", var--);
Barger::get().setvar(var); // <-- here
return std::string(mes);
}
除非您可以更改var()
为返回int&
对某个内部变量的非常量引用int
,而不是返回int
它的副本:
std::string Barger::ShowMessage() {
int& var = Barger::get().var();
char mes[20];
sprintf_s(mes, sizeof(mes), "Value Var %d", var--);
return std::string(mes);
}
推荐阅读
- symfony - Api 平台安全性 - 如何向动态用户组授予对对象的访问权限?
- android - Flutter - 动画列表中容器的消失
- java - Android Studio 中的“画布:试图绘制过大的位图”问题
- c++ - C++中的无序映射
- installation - 除了默认位置之外,是否有解决方法来安装 Livecode 依赖项?
- xml - 从 XML 的多个相似标签中获取特定标签
- kotlin - 如何在 Kotlin 中使用 WHEN 表达式?
- php - 如何将原始请求转换为 php post curl 请求
- javascript - Ionic - 条码扫描仪返回 [object Object]
- json - 导入本地 JSON 文件的 Angular 单元测试