首页 > 解决方案 > MSVC(和 icc)自动调用 memset C++

问题描述

我已经大量使用大数据结构,每次创建(通过放置新)它时,编译器都会自动添加“memset”调用。即使在发布模式下,即使我将 /SDL 和 /GS 设置为 OFF。这绝对是多余的,它会产生一些我不需要的开销。如何防止产生多余的 memset 调用?

在此处输入图像描述

螺栓示例

标签: visual-c++initializationmemsetoverhead

解决方案


您可以实现Tmp::Tmp()构造函数来摆脱memset,即:

struct Tmp
{
    String a0;
    String a1;
    String a2;

    Tmp() {}
};

https://godbolt.org/z/J6-C8S


推荐阅读