PDA

View Full Version : سوال: ارسال یک لیست به عنوان ارگومان به تابع



root88
دوشنبه 15 شهریور 1389, 12:07 عصر
با سلام
من یه تابع دارم و می خوام یه شی از نوع لیست بهش پاس بدم و تو تابع مقداردهی اش کنم. نمی دونم چطوری ممکنه منو راهنمایی کنید.
متشکرم

Salar Ashgi
دوشنبه 15 شهریور 1389, 12:50 عصر
ما هزار نوع لیست داریم ، منظور شما چه نوع لیستی هستش ؟! واضحتر بیان کنید ./

root88
دوشنبه 15 شهریور 1389, 13:40 عصر
بله چشم!
تابع من یه لیست از نوع int و یه رشته رو به عنوان ورودی میگیره و بعد رشته رو به عدد تبدیل میکنه و هر عدد رو تو یه گره از این لیست قرار میده. تابع رو اینطوری تعریف کردم



#include<list>
.
.
void change(list<int>l ,string s)
{
/////
}
int main()
{
list<int> mylist;
change(mylist, mystring);
}

Salar Ashgi
دوشنبه 15 شهریور 1389, 17:30 عصر
بعد رشته رو به عدد تبدیل میکنه و هر عدد رو تو یه گره از این لیست قرار میده.

خودتون گفتید رشته تبدیل میشه به یک عدد ، بعد منظورتون از هر عدد ، چیه ؟!
در حالت کلی فرقی با مقدار دهی آرایه ها ندارد ولی بهتره جهت ذخیره سازی داده ها
از وکتور ها استفاده کنید ، که انعطافش بیشتره !

root88
سه شنبه 16 شهریور 1389, 12:55 عصر
مثلا رشته 12 142 54 رو دارم، هر عدد ،منظور عدد 54 ، عدد 142و .. است.
من آرایه را با اشاره گر به تابع پاس می دادم، اما نمی تونم اینو ارسال کنم.

ashkan_d13
سه شنبه 16 شهریور 1389, 16:13 عصر
خب باید از مرجع استفاده کنی دیگه، مگه نه کپی لیست میره به تابع نه خودش



void change(list<int>&list1)


اشاره گر هم میشه:



void change(list<int>*l )
{
(*l).push_back(12);
}
int main()
{
list<int> mylist;
change(&mylist);
}