[问题] 用template取得array长度

楼主: ko27tye (好滋好滋)   2021-06-26 22:38:47
网上找到的做法是用reference搭配template来取得
https://ideone.com/hSXrOZ
我试着改用pointer做做看,但无法通过编译
不如说为什么reference就能通过编译?
查到一篇类似的问题
https://tinyurl.com/3wvr2mze
难道reference里面有存阵列的型别和长度,
而pointer只是单纯放内存位置吗?
还麻烦各位高手解惑,谢谢。
作者: bhbbbbb (影)   2021-06-27 00:01:00
可以参考置底第12诫
作者: KaryuuIssen (一闪)   2021-06-27 00:28:00
错误的版本要传入阵列位址才行 这里不能靠阵列退化成指标 因为签名不合
作者: LPH66 (-6.2598534e+18f)   2021-06-27 03:16:00
顺便提一下, reference 确实在某种意味上“有存”型别长度但它不是存在程式执行的内存里, 而是编译器会记着它这也是为什么型别签名会被编译器检查出不合的部份原因
楼主: ko27tye (好滋好滋)   2021-06-27 07:02:00
学到了,感谢分享!

Links booklink

Contact Us: admin [ a t ] ucptt.com