[C++]括號使用小技巧

PangCoder發表於2024-08-22

1.前言

  對於一般的賦值語法,例如

int a = 0;

  但你知道嗎?使用括號可以同時寫很多型別,編譯器一般預設括號內最後一個型別為賦值型別,例如

//編譯器會選擇最後一位進行賦值
int a = (100,200,300,0);

  此時,a的值就是0。

2.改變函式返回值

  有如下三個函式,返回值型別分別為void、int、bool

void Func1()
{
    std::cout<<"this function 1 return void"<<std::endl;
    return;
}

int Func2()
{
    std::cout<<"this function 2 return int"<<std::endl;
    return 0;
}

bool Func3()
{
    std::cout<<"this function 3 return bool"<<std::endl;
    return false;
}

  然後,在main裡的呼叫

int main()
{
    Func1();
    Func2();
    Func3();
    
    return 0;
}

  結果如下:  

  this function 1 return void
  this function 2 return int
  this function 3 return bool

  然後對它們進行改動一下

int main()
{
    Func1();
    Func2();
    Func3();

    std::cout<<"================================================================"<<std::endl;

    int ret1 = (Func1(),100);
    std::cout<<"ret1 value: "<<ret1<<std::endl;

    bool ret2 = (Func2(),false);
    std::cout<<"ret2 value: "<<ret2<<std::endl;

    float ret3 = (Func3(),true);
    std::cout<<"ret3 value: "<<ret3<<std::endl;


    return 0;
}

  然後結果就變成了

  this function 1 return void
  this function 2 return int
  this function 3 return bool
  ================================================================
  this function 1 return void
  ret1 value: 100
  this function 2 return int
  ret2 value: 0
  this function 3 return bool
  ret3 value: 1

相關文章