【发布时间】:2014-10-28 03:11:07
【问题描述】:
我正在分析矢量类。 然后,我可以找到这个语法
(第一个新语法)
void construct(pointer __p, const _Ty& _Val)
{new ((void *)__p) _Ty(_Val)};
template<typename _Up, typename ... _Args>
void construct(_Up* __p, _Args&&... __args)
{new ((void *)__p) _Ty(_STD forward<_Args>(__args)...)};
我可以理解这不等于
__p = new _Ty(_Val);
那么这两个语句有什么区别,我应该如何解释第一个新语法? (在 VisualStudio2013 中)
【问题讨论】:
-
这叫做“新位置”。