[英]C++ auto , don't understand how assign operators?
我有這個代碼。
CGraphicTextInstance*& prGuildNameInstance = pTextTail->pGuildNameTextInstance;
我想應用一些c ++ 11功能,例如auto
轉換。
自動后應如下所示:
auto prGuildNameInstance = pTextTail->pGuildNameTextInstance;
添加自動后,僅自動分配CGraphicTextInstance
而不使用運算符*&
我看到了intelisense。
我的問題是為什么? 我應該手動添加缺少的運算符嗎? 像這樣 ?
auto &prGuildNameInstance = pTextTail->pGuildNameTextInstance;
我的問題會破壞我的密碼嗎? 這會是一個問題嗎? 可以自動分配他想要的內容嗎?
auto
(通常)使用與模板推導相同的規則來推導類型。 這樣,它將刪除引用,因此您需要明確獲取引用:
auto prGuildNameInstance = pTextTail->pGuildNameTextInstance;
//prGuildNameInstance is of type CGraphicTextInstance*
auto& prGuildNameInstance = pTextTail->pGuildNameTextInstance;
//prGuildNameInstance is of type CGraphicTextInstance*&
選擇基本上與任何變量相同:如果要引用,請提供參考;如果需要引用,請提供參考。 如果您想要一個值,則要求一個值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.