读书人

~STL~该怎么解决

发布时间: 2012-03-18 13:55:39 作者: rapoo

~~~~~~~~~~~~~~~~~~~~~~~~STL~~~~~~~~~~~~~~~~~~~~~~~~~
template <class T1, class T2>
inline void _construct(T1* p, const T2& value)
{
new(p) T1(value);
}

这里的 new(p) T1(value); 不理解, 能否给解释一下....


[解决办法]
new(p) T1(value);
----------------------------
好奇怪的用法
偶不会STL

以T1为类型申请空间,大小是value????
那p什么意思
不晓得,期待高手
[解决办法]
int *buf = new int[1024];
int *p = new (buf)int(100);
int *ptmp = new (buf + 1)int(1000);
==================
这样解释,buf指针,指示堆空间的1024个字节的内存
new (buf)int(100);在前4个字节写10
new (buf + 1)int(1000);在接着的4个字节写1000
对于类类型,则执行构造函数,使构造的对象位于buf和buf+1所指示的内存
希望说情出了

读书人网 >C++

热点推荐