这个C ++ 03 std :: allocator函数做了什么?

时间:2018-03-22 19:25:09

标签: c++

我正在浏览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 ++中哪里可以了解更多类似的内容?

0 个答案:

没有答案