我正在浏览cpp con视频,我无法理解它是如何工作的。我明白它在做什么,但现在如何。我以前没见过这些语法。
template<class T> inline void
allocator<T>::construct(pointer p, T const& val)
{
::new((void*) p) T(val);
}
分配器解耦内存分配和对象创建(与new运算符不同)。所以这是建筑部分。因此,要构造一个对象,必须引用已构造的T
对象。这似乎是循环的。
::new((void*) p) T(val);
行在做什么?
inline void
做什么呢?
在C ++中哪里可以了解更多类似的内容?