gpt4 book ai didi

c++ - 空的 .ctor 和 .dtor 会降低性能吗?

转载 作者:太空宇宙 更新时间:2023-11-04 15:20:40 24 4
gpt4 key购买 nike

在下面的例子中,类 test1 没有 ctor/dotrtest2 有空的 ctordtor.

在分配大量test1test2 时,空的ctordtor 会降低性能吗?

#include <cstdlib>

using namespace std;

class test1
{
public:

int m_member;

// Without ctor/dtor
};

class test2
{
public:

int m_member;

// Empty ctro
test2(void)
{
// Nothing.
}

// Empty dtor
~test2(void)
{
// Nothing.
}
};

int main(int argc, char* argv[])
{
// Which one of these lines is faster?
test1* t1 = new test1[500 * 1024 * 1024];
test2* t2 = new test2[500 * 1024 * 1024];

return EXIT_SUCCESS;
}

编辑:我相信测试这段代码并不容易,因为分配大量内存会影响程序的下一行和系统速度。

最佳答案

这不太可能——特别是因为您的构造函数和析构函数是内联的,因此编译器可以优化它们以使其不存在。话虽这么说——你为什么不测量它而不是在 Stack Overflow 上询问?

关于c++ - 空的 .ctor 和 .dtor 会降低性能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20131979/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com