This is just my opinion as I have not had a problem in Teir 2 but I have had a problem using memset on C++ compilers on embedded systems....
The constructor should set your initial class variable values and generally set up the class so you can use it.
Using the memset does this by setting the member variables to zero. The thing is you can never be sure of how the compiler works and exactly what it store in your app....Ie...if you implemented a virtual function within your class later on for whatever reason, it would also zero the values in a virtual function pointer table that is stored in the app class when it shouldn't do that.
Basically, write your constructor as you normally would in C++ and set up your class variables to whatever values they need to be 0, 1, 255 or whatever. The memset is a lazy way of doing that that on one line of code instead of carefully going through each variable and setting it properly. It wipes out all the values stored on the class, even those that the compiler might need.