如何优化*

How do I optimize* this?

本文关键字:优化 何优化      更新时间:2023-10-16

我的代码摘录是

if (num == 0) {
    cout << 1;
    cout << 2;
}
else if (num == 1) {
    cout << 0;
    cout << 2;
}
else if (num == 2) {
    cout << 0;
    cout << 1;
}

其中 0 <= 数字 <= 2。

我问是因为cout << ...语句将被转换为更大但(几乎(彼此相同的东西。

*我的意思是优化为"美化"代码(例如,删除 5 个重复的 cout 语句(。

我没有在问题中

加上"美化",因为它在 SO 问题中听起来很奇怪。

也许是这个?

cout << "100"[num];
cout << "221"[num];
也许是

这样的

for (int i : {0, 1, 2}) {  // or for (int i = 0; i <= 2; ++i) {
  if (i != num) {
    std::cout << i;
  }
}

好吧,这里有一些不同的东西(没有iffor(:

cout << ( (n + 1) % 2); 
cout << ( (n + 2) % 2) + (2 - n);

显然:n = 0,1,2。

这是一个替代的

  cout.write((0==n)?("12"):((1==n)?("02"):("01")),2);