Вы не можете сделать это обычным if
, но если у вас есть контейнер, содержащий ваши значения, вы можете использовать std::transform
и желаемое условие, чтобы выполнить следующие действия:
#include <iostream>
#include <vector>
#include <algorithm>
int main()
{
std::vector<int> vec = {1,4 ,-7, 0 ,-9, 9};//The container of the values
//the following line does every thing
std::transform(vec.begin(), vec.end(), vec.begin(), [](const int& i){return (i < 0)? 100:i; });
//To display
for(auto& el : vec)
std::cout<< el << " ";
}
И это еще один ответ, вдохновленный ответом @ user2962393
#include <iostream>
void cond(int & h){
if( h < 0 )
h=100;
}
template<typename T, typename... Ts>
void set_100_if_cond(T& x, Ts&... xs) {
(cond(x), ... , cond( xs ));
}
int main() {
int var1 {50};
int var2 {0};
int var3 {-9};
set_100_if_cond(var1, var2, var3);
std::cout << var1 << " " << var2 << " " << var3;
}