c++ - 无法减少代码(cout与exit结合)

标签 c++ c linux exit cout

我只能在我的程序中插入 10 行(严格的)代码。我已经优化了编程,使其变得简洁。我已经发布了下面的代码。

    if (std::find(outvar.begin(), outvar.end(), line[x].tokens[0]) == outvar.end() ||             (std::find(inputs.begin(), inputs.end(), line[x].tokens[4]) == inputs.end())
 {
 cerr << "Undefined variable " << endl;  
 exit(1);
 }


if (opr[x].type == "MUL" && opr[x1].asap_value == my_cycle + 1)
{
opr[x1].asap_value = my_cycle + 2; 
update_slack();
update_matrix(opr[x1].opid, 0);
}


if (latency < (opr[p2].asap_value + opr[p2].latency_op - 1) || opr[p2].asap_value == 0) 
{
cerr << "Latency value is too less for this circuit \n"; return -1;
}

仅此一项就需要 10 行,而且我还必须添加 2 行强制代码。我无法进一步减少它。基本上我希望将 err(cout) 语句与 exit (return) 语句组合成一个语句。

任何帮助将不胜感激。

谢谢

最佳答案

您可以使用逗号将其全部合并为一行:

opr[x1].asap_value = my_cycle + 2, update_slack(), update_matrix(opr[x1].opid, 0);

不确定这是否被视为作弊。您还没有具体说明规则是什么。

关于c++ - 无法减少代码(cout与exit结合),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27322893/

相关文章:

c - 如果 rand() 重复一个数字,则重新为变量赋值

linux - 如何在 Linux 内核模块中设置周期性定时器回调

c++ - 将 R 翻译成 Rcpp : mean time difference between successive dates in vector

c++ - g++ 编译错误 : `.rodata' can not be used when making a shared object; recompile with -fPIC

c++ - 如何使右值方法正确调用 move 构造函数

MySql 在 Windows 上出错,但在 Linux 上没有,指定的 key 太长

PHP shell tar 问题,返回代码 2

c++ - std::less<char> 中的段错误

c - 拆分一个字符串并打印出每个单词

c - 将数组传递给函数错误?