https://1cpp.blogspot.com/2019/08/82-constructor-destructor.html