// // // // // Lab. Calcolo II - Esempio di codice // // // // // // // Example code: unique_ptr #include <iostream> #include <memory> struct Shoe { ~Shoe() { std::cout << "Buckle my shoe\n"; } }; class MyClass { std::unique_ptr<int> ptr; public: MyClass() : ptr(new int) { *ptr = 0; } int add_one() { return ++*ptr; } }; int main() { std::unique_ptr<Shoe> x(new Shoe); MyClass my_instance; std::cout << my_instance.add_one() << '\n'; std::cout << my_instance.add_one() << '\n'; } // The example program produces the beginning of a child's nursery rhyme: // // 1 // 2 // Buckle my shoe