vicemene jako socketka (http://forum.matfyz.info/viewtopic.php?f=423&t=8125 ), ale par otazek na unique_ptr.
Kód: Vybrat vše
Class T {
int a; int b;
}
std::unique_ptr<T> f (std::unique_ptr<T> a, const std::unique_ptr<T>& b) {
}
Moznosti:
Kód: Vybrat vše
a) return std::move(a);
b) return std::move(b);
c) return std::make_unque<T>(a);
d) return b;
Dalsi otazka, ktera nebyla v socketce bylo:
Jak spravne dynamicky alokovat objekt T?
Moznosti:
Kód: Vybrat vše
a) auto& x = std::make_unique<T>();
b) T& x = std::make_unique<T>();
c) T x = new T;
d) auto x = std::make_unique<T>(); // jedina spravna moznost
Jak spravne ulozit Rectangle do vectoru?
Moznosti:
Kód: Vybrat vše
a) vec.push_back(new Rectangle); // Jedina spravna odpoved
b) vec.push_back(Rectangle());
c) vec.push_back(*new Rectangle)
d) {Rectangle r; vec.push_back(&r);} // projde compilatorem, ale pozdeji muze rozbit zasobnik - Rectangle se smazu hned jak se vyleze ze scopu, odkaz bude neplatny - spravne je NE
Zbytek otazek lze najit zde na foru....
Vypracovano ve spolupraci Martin Wirthem