首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >new(3)是什么意思?

new(3)是什么意思?
EN

Stack Overflow用户
提问于 2017-05-03 15:38:12
回答 2查看 2.3K关注 0票数 17
SelectInst *Sel = new(3) SelectInst(C, S1, S2, NameStr, InsertBefore);

这里的new运算符是什么意思?

new运算符后面的数字3是什么意思?

EN

回答 2

Stack Overflow用户

发布于 2017-05-03 15:50:08

假设SelectInst提供了一个用户定义的placement operator new,它接受一个int作为用户定义的参数;调用语法意味着使用该用户定义的放置operator new进行内存分配。例如:

class SelectInst {
public:
    static void* operator new (std::size_t count, int args) {
    //                                            ~~~~~~~~
        ...
    }
};

SelectInst *Sel = new(3) SelectInst(C, S1, S2, NameStr, InsertBefore);
//                   ~~~
票数 7
EN

Stack Overflow用户

发布于 2017-05-03 15:46:11

doc 上,它说这是以字节为单位请求的内存量。(如果没有重载)这是一个3 *8 = 24位的请求,用于在内存中存储对象。想想看,在malloc的残留物上。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43753974

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档