MSVC (and icc) automatically calling memset C++

Viewed 147

I have intensively used big data structure and every time when I create (by placement new) it, compiler automatically added "memset" call. Even in Release mode, even if I set /SDL and /GS OFF. That is absolutely redundant and it produces some overhead that I don't required. How to prevent redundant memset call generation?

enter image description here

godbolt example

1 Answers

You can implement Tmp::Tmp() constructor to get rid of the memset, i.e.:

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

    Tmp() {}
};

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

Related