任何型態皆可用C++新提出的reference傳進function,array除了使用pointer方式傳進function外,當然也可以使用reference。

當使用pointer傳進function時,compiler只對array的型態做檢查,就算傳進function時指定了array size,compiler也會忽略,但若使用reference,compiler則會對array size做檢查。

 1}


14行int (&arr)[3],&arr一定要括號,因為[]比&優先權高。

int &arr[3] // 一個array有三個元素,每個元素為int型態的reference
int (&arr)[3] 三個int型態元素array的reference

雖然compiler能幫我們檢查array size看似不錯,但須將array size寫死,則減少了程式的彈性,若配合function template,則可處理任意size的array。

See Also
(原創) 如何使用function template傳遞array? (C/C++) (template)

Reference
C++ Primer 4th P.240

相关文章:

  • 2021-06-17
  • 2021-08-26
  • 2021-06-05
  • 2021-05-26
  • 2021-06-23
  • 2021-07-31
  • 2021-11-06
  • 2021-11-19
猜你喜欢
  • 2021-12-24
  • 2021-09-01
  • 2021-10-13
  • 2021-11-19
  • 2021-11-26
  • 2021-07-23
  • 2021-10-19
相关资源
相似解决方案