Załóżmy, że mam klasy jakWartość domyślna dla boost :: shared_ptr na konstruktora klasy
class A{
public:
A(int a, boost::shared_ptr<int> ptr){
// whatever!
}
};
Moje pytanie brzmi, co jest wartością domyślną dla tego ptr? Chciałbym, aby móc utworzyć wystąpienie tej klasy, stosując
A myA(5);
Oczywiście wiem mogę utworzyć inny konstruktor z jednym parametrem, ale szukam czegoś jak
A(int a, boost::shared_ptr<int> ptr = WAT?)
Czy to możliwe? Obecnie używam sposobu dwóch konstruktorów, ale byłoby wspaniale zrobić to w ten sposób.
Dzięki za odpowiedź. Nie próbowałem używać make_shared w ten sposób, mimo że używałem go podczas wywoływania tego konstruktora z innych miejsc. Jednak byłoby wspaniale mieć to "ptr" w jego domyślnej wartości, zamiast dawać mu fałszywą wartość, ponieważ nie używam dokładnie liczby całkowitej, ale pełnoprawnej klasy. –
Możesz wywołać to bez wartości dummy, użyłem tylko przykładu. – OneOfOne