typedef boost::variant<int, double> Type;
class Append: public boost::static_visitor<>
{
public:
void operator()(int)
{}
void operator()(double)
{}
};
Type type(1.2);
Visitor visitor;
boost::apply_visitor(visitor, type);
ile mümkün şöyle ekstra verileri alır, öyle ki ziyaretçinin değiştirmek mi. Dizeyi yapıcı aracılığıyla iletmek bu durumda bir seçenek değildir.boost :: static_visitor birden argümanlar
Neden bir seçenek değil? Değişiklikler olması durumunda farklı dizeleri olan başka bir Append nesnesi oluşturabilirsiniz. – kennytm
Dize değeri hangi saatte değişecek? Neden bir kurucu ile yapılmadığını da göremiyorum. – Mene
@KennyTM Append sınıfı, kurucusu aracılığıyla bir dizi bağımlılık alır. Eğer sınıfımdaki Append nesnesini yeniden kurgularsam, bu sınıfın ayrıca Append tarafından yapıcısı tarafından kullanılan tüm bağımlılıkları da alması gerekecektir. Sınıfımın kurucusu aracılığıyla bir Append nesnesini alacağını ummuştum. – Baz