When I use class constructor and I need to initialize every member variables as NULL or nullptr. Usually I using the Initializer list. but if there are many variables, It is not good to see like this.
Be very careful with (if possible avoid) std::memset and the like.
If the object is a potentially-overlapping subobject or is not TriviallyCopyable (e.g., scalar, C-compatible struct, or an array of trivially copyable type), the behavior is undefined. https://en.cppreference.com/w/cpp/string/byte/memset
Don't use the memory functions with the this pointer. It will work with 'simple' objects, but will severely bite you when you come to more complicated classes (eg with dynamic memory objects, virtual member functions etc etc).