MSVC(和icc)自动调用memset C ++

时间:2019-01-14 14:28:39

标签: visual-c++ initialization memset overhead

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

enter image description here

godbolt example

1 个答案:

答案 0 :(得分:0)

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

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

    Tmp() {}
};

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