ta otazka s Rectanglom uz tu bola minule, ale trochu ina (tam sa do vektoru ukladali pointre, tu priamo hodnota):
Mame triedu Base a jej potomka Rectangle. potom vector
std::vector<Base> a;
a ze akym prikazom donho dostaneme nejaky objekt typu Rectangle
Kód: Vybrat vše
a) { Rectangle r; a.push_back(&r); }
b) Do tohoto vektoru nemozeme priradit objekt typu Rectangle.
c) a.push_back( * new Rectangle );
d) a.push_back( Rectangle() );
tiez podobna ako minule na unique pointre:
std::unique_ptr<T> f (std::unique_ptr<T> a, const std::unique_ptr<T>& b) {
}
Co moze byt v tele f?
Kód: Vybrat vše
a) return std::move(b);
b) return std::make_unique<T>(a);
c) return std::make_unique<T>(*b);
d) return std::move(a);
(v obidvoch veciach si nie som uplne isty, preco to tak je...?)