0x00 引用的运用场景
#define OUT
//场景1:需要修改实参
void TestChangeValue(OUT int& iNum)
{
iNum = 2;
}
//场景2:不需要改变实参
void TestNoChangeValue(const int& iNum)
{
//iNum = 3; 报错
//只能用作参数进行加工数据,不能修改传进来的实参
int iSum = iNum + 100; //400
cout << iSum << endl;
}
int main()
{
int iFistValue = 200;
cout << iFistValue << endl; //200
TestChangeValue(iFistValue);
cout << iFistValue << endl; //2
int iSecValue = 300;
cout << iSecValue << endl; //300
TestNoChangeValue(iSecValue);
return 0;
}
0x01 解析
a.OUT 这样更好识别形参是否有进行修改实参。
b.场景的运用还是需要根据业务需求进行判定。