int main(){ Foo foo; int x; char c; foo.get(x); foo.get(c); cout << x << endl; cout << c << endl; foo.set('x'); foo.get(x); foo.get(c); cout << x << endl; cout << c << endl; return 0; }
TEST(OwnedTest, Release) { Foo* foo = new Foo(); foo->set(42); Owned<Foo> owned(foo); EXPECT_EQ(42, owned->get()); EXPECT_EQ(42, (*owned).get()); EXPECT_EQ(42, owned.get()->get()); Foo* raw = owned.release(); EXPECT_EQ(NULL, owned.get()); EXPECT_EQ(42, raw->get()); delete raw; EXPECT_EQ(NULL, owned.get()); }
int foo(Foo& f) { return f.get(); }
int main() { Foo f; f.get(); std::cout << "Still alive!"; return 0; }