c++ - 如果满足条件,则更新值,而无需两次键入变量名

标签 c++

我有以下代码:

int a = ...
//...
int maxValue = 100;
if (a > maxValue)
  a = maxValue;

可以使用不重复变量名称的oneliner来完成此操作吗?

一种选择是

a = std::min(a, maxValue);

但是出于某种原因,我想避免两次键入变量。

最佳答案

尝试尽可能少地挤压东西是一种可疑的动机。但是,如果您写了一个

void assignMin(int& a,const int& min) {
    a = std::min(a,min);
}

然后,所需的单行版本是:
assignMin(a,maxValue);

关于c++ - 如果满足条件,则更新值,而无需两次键入变量名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61460316/

相关文章:

C++:调用临时对象的构造函数

c++ - std::sort_heap 按降序排列

C++程序在退出时崩溃,内存中的访问冲突

c++ - 在 C++ 中取消调试功能的更好方法

c++ - 为什么 stdarg.h 有一个宏 « __va_size »?

c++ - 操作不同类型变量的速度有什么区别吗?

c++ - 为什么 qt 在 opengl 中渲染 svg 文件时比在原生中有更好的性能

c++ - 小文本处理程序中的段错误

c++ - 为什么库实现者使用短名称?

c++ - 定义的 `inline` 找不到用于特化的模板方法