什么是 non-trivial default constructor, non-trivial copy constructor, non-trivial assignment operator, non-trivial destructor?