![](/img/trans.png)
[英]overloading, const parameter, const_cast, const_cast<string &>
[英]what does the presence of & mean in const_cast template parameter
const_cast
不是模板,而是類型轉換。 似乎是模板參數的是轉換的目標類型,在這種情況下,它意味着您希望獲得對int
的非const引用,該引用引用與a
相同的對象。
a
是const int&
當你編寫const_cast
時。
您只能使用const_cast
修改指針和引用類型的cv限定符,而不能修改值。 這是因為為rvalues指定constness只有在引用或指針類型時才有意義,因此可以進行修改。
因此,如果您只想要變量a
的(非常量)值,只需寫入即可
b = a;
因為無論如何都忽略了常數。 然后b
從a
復制構造。
基本上a是const,b不是const
所以const_cast基本上說b存儲在a但刪除了const。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.