C++自动,不明白如何分配操作员?
C++ auto , don't understand how assign operators?
我有这段代码。
CGraphicTextInstance*& prGuildNameInstance = pTextTail->pGuildNameTextInstance;
我想应用一些c++11特性,比如auto
变换。
自动后应该是这样的:
auto prGuildNameInstance = pTextTail->pGuildNameTextInstance;
在添加了auto之后,只自动分配CGraphicTextInstance
而没有运算符*&
,我看到了这一点。
我的问题是为什么?我应该手动添加缺失的运算符吗?像这样?
auto &prGuildNameInstance = pTextTail->pGuildNameTextInstance;
我的问题是,这会破坏我的代码吗?这会是个问题吗?可以让auto分配他想要的吗?
auto
(大部分)使用与模板推导相同的规则来推导类型。因此,它将剥离引用,因此您需要明确获取引用:
auto prGuildNameInstance = pTextTail->pGuildNameTextInstance;
//prGuildNameInstance is of type CGraphicTextInstance*
auto& prGuildNameInstance = pTextTail->pGuildNameTextInstance;
//prGuildNameInstance is of type CGraphicTextInstance*&
选择与任何变量基本相同:如果你想要引用,请请求引用;如果你想要一个值,就要求一个值。
相关文章:
- 为什么我不能拥有纯虚拟分配操作员?
- 从私人矢量中公开访问和分配操作员
- C 分配操作员助手
- C BigInteger和分配操作员超载
- 复制构造函数和复制分配操作员
- 复制构造函数和分配操作员对循环依赖类别的过载
- 分开副本/移动分配操作员
- 复制分配操作员定义
- 不清楚的副本分配操作员示例
- C 复制分配操作员问题
- 虚拟分配操作员不允许static_cast
- 在班级中使用动态分配的C风格字符串,并带有复制和分配操作员,给出了意外的结果
- std :: vector :: erase(item)需要为项目定义的分配操作员
- 分配操作员返回值类型
- 分配操作员返回
- 为什么分配操作员没有发生 RVO?(C++)
- 为什么我的副本分配操作员从未被调用
- C++自动,不明白如何分配操作员?
- 自动分配操作员构造
- 为什么我的分配操作员不处理自我分配