'u çalıştırın. Fonksiyon konteynırı olarak vektör/deque yapmak istiyorum.Fonksiyonları vektöre yerleştirin ve
Bu muhafaza, farklı argümanlarla farklı işlevler almalıdır.
Örnek fonksiyonları:
program_data::getInstance().function(int,std::string);
program_data::getInstance().foo(int);
program_data::getInstance().exam(int,std::string,double);
Ve örnek kod std için argümanlar :: vector/std :: deque ile bu fonksiyonları koydu ve yürütmek nasıl gösterebilirim?
Sanırım std :: function ve std :: bind kullanmalıyım ama farklı işlevlerle farklı işlevleri nasıl destekleyeceğimi bilmiyorum. argümanlar ile
-> (program_data
den function
foo
exam
denir) benim işlevleri argümanlar kullanarak bazı eylemleri yapmak. Örneğin
:
program_data::getInstance().function(10,"halo");
Ve şimdi std::vector // deque
için bu işlevleri koymak ve ben fonksiyonu ile koymak argümanlarla yürütmek istiyorum: Normalde ben bu işlevi gerçekleştirmek. yani, (i (pseudocode vektörüne yukarıdaki işlevini koymak ve kullanımı halinde) vector[0].run();
sonra programım çalışma fonksiyonu program_data::getInstance().function(int,std::string);
)
"argümanlar ile" - yani çağrıldığında, belirtilen argümanlarla işlevi çağırmakla aynı etkiye sahip olan bir şey oluşturmak istediğiniz anlamına gelir? –
Lambda ifadeleri mi arıyorsunuz? https://stackoverflow.com/questions/7627098/what-is-a-lambda-expression-in-c11 – MrTux
Argümanlarınızın değerleri enque zamanında biliniyor mu? İşlevlerinizin dönüş tipi daima aynı mıdır? – Christophe