যেহেতু সি ++ 11 আপনি এটি একটি সংক্ষিপ্ত এবং জেনেরিক ফ্যাশনে কার্যকরী লাইব্রেরি ব্যবহার করতে পারেন । বাক্য গঠনটি যেমন,
std::function<bool (int)>
bool
এখানে একটি যুক্তিযুক্ত ফাংশনটির রিটার্ন টাইপ যেখানে প্রথম যুক্তি টাইপ হয় int
।
আমি নীচে একটি উদাহরণ প্রোগ্রাম অন্তর্ভুক্ত করেছি:
// g++ test.cpp --std=c++11
#include <functional>
double Combiner(double a, double b, std::function<double (double,double)> func){
return func(a,b);
}
double Add(double a, double b){
return a+b;
}
double Mult(double a, double b){
return a*b;
}
int main(){
Combiner(12,13,Add);
Combiner(12,13,Mult);
}
কখনও কখনও, যদিও এটি কোনও টেম্পলেট ফাংশনটি ব্যবহার করা আরও সুবিধাজনক:
// g++ test.cpp --std=c++11
template<class T>
double Combiner(double a, double b, T func){
return func(a,b);
}
double Add(double a, double b){
return a+b;
}
double Mult(double a, double b){
return a*b;
}
int main(){
Combiner(12,13,Add);
Combiner(12,13,Mult);
}
typedef
।