سلام دوستان.
فرض کنیم یک template function داریم به این صورت:
template<typename T> int func(T inp)
{
.....
}
همونطور که مشخصه این تابع یک ورودی از نوع T و خروجی int خواهد داشت.
حالا فرض کنیم در بدنه تابع قصد دارم دستور if قرار بدم و در پرانتز مشخص کنم که اگر تایپ ورودی برای مثال int بود یه سری دستور یا اگر double بود یه سری دستور داشته باشیم و الی آخر.
در این باره سرچ کردم و در نهایت به این رسیدم که باید فایل سرآیند typeinfo رو include کنم و در پرانتز به این صورت بنویسم که:
if(typeid (inp) == typeid(int))
......
که در نهایت به جای int تایپهای دیگه هم میتونه قرار بگیره.
این موضوع رو مطرح کردم که نظر شما رو جویا بشم که آیا این روش درسته یا خیر و اگر اینطور نیست پیشنهاد شما چیه برای این کار؟ چون چند باری شده که به این موضوع تنوع تایپهای ورودی برخوردم.
متشکرم.