Question: executed when a class goes out of scope
Answer: The following macro annotates a variable with a given destructor function that it will call when the variable goes out of scope :