پارامتر نامحدود رشته ای با variadic - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

پارامتر نامحدود رشته ای با variadic

+2 امتیاز
سلام دوستان.

من تو این پست در مورد variadic مطالعه کردم ولی هر کاری کردم نتونستم اون کاری که خودم قصد دارم را انجام بدم.من می خوام n تا پارامتر رشته ای از ورودی بگیرم و همان را به صورت vector از تابع برگردانم.

مرسی
سوال شده اردیبهشت 7, 1393  بوسیله ی RED (امتیاز 494)   9 30 41
ویرایش شده مرداد 28, 1393 بوسیله ی BlueBlade

1 پاسخ

+2 امتیاز
 
بهترین پاسخ

سلام کدش به همراه توضیحات مربوطه رو داخل این سوال گذاشتم : ویژگی های C++11

به این شکل این کار قابل انجامه :

#include <iostream>
#include <vector>
#include <string>
 
void make(std::vector<std::string>&){}//end
 
template <typename T,typename ...Types>
void make(std::vector<std::string>& result,const T& val,const Types& ... args)
{
    result.push_back(val);
    make(result,args ... );
}
 
template <typename ...Types>
std::vector<std::string> make(const Types& ... args)
{
    std::vector<std::string> result;
    make(result,args ... );
    return result;
}
 
 
int main()
{
    std::vector<std::string> result=make("str1","str2");
    for(const auto& i:result)
        std::cout<<i<<std::endl;
}

 

پاسخ داده شده اردیبهشت 7, 1393 بوسیله ی BlueBlade (امتیاز 15,315)   15 18 89
انتخاب شد اردیبهشت 8, 1393 بوسیله ی مصطفی ساتکی
...