9
何時使用函數引用如什麼時候在C++中使用函數引用而不是函數指針?
void (&fr)() = foo;
fr();
而不是函數指針如
void (*fp)() = &foo;
fp();
有什麼函數指針不能做,但功能可參考?
何時使用函數引用如什麼時候在C++中使用函數引用而不是函數指針?
void (&fr)() = foo;
fr();
而不是函數指針如
void (*fp)() = &foo;
fp();
有什麼函數指針不能做,但功能可參考?
當你定義一個參考:
void (&fr)() = foo;
fr();
它可以讓你幾乎無處不FR用用富的能力,它是可能的,這就是爲什麼:
fr();
(*fr)();
作品與直接使用foo的方式完全相同:
foo();
(*foo)();
One more差異是解引用函數引用不會導致錯誤,其中函數指針不需要解引用。
另外,對於非函數指針和引用可以說什麼也可以應用於函數指針和引用。雖然可能有一些例外。 –
@MarkGarcia感謝您的鏈接。我會盡力從那裏找到合理的答案。 – songyuanyao