[英]Template function parameter with const
我知道參考不是重點。 引用不是對象。 因此沒有const參考。
const int ci = 1024;
const int &rl = ci;
我們不能寫int const &rl = ...
但是今天,我正在學習二進制樹的源代碼:
template <typename T> //take e as the node insert the left child of the tree.
BinNodePosi(T) BinNode<T>::insertAsLC(T const & e) { return lChild = new BinNode(e, this); }
我對其參數T const&e感到困惑。 為什么不const T&e ? 我認為后者是正確的。也許我的問題太簡單了,無法在此處發布。 與數學不同,研究級別和學習級別分別有兩個方面:MathOverFlow和math.stackexchange ..我找不到stackoverflow的下級站點。.因此,將其發布在這里。 請原諒我。 非常感謝。
const
立即應用於其左側的東西,除非它是類型說明符序列中的第一項,在這種情況下,它將應用於下一項。
因此, T const & e
完全等同於const T & e
。 您似乎想到的非法案件是T & const e
。 同樣,指向可變對象的不可變指針將被聲明為T * const e
。
就個人而言,我避免將const
放在首位,因為它是語法的特例。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.