PDA

View Full Version : 2 سوال در مورد رشته ها



ali zi zeperto
پنج شنبه 14 آبان 1388, 08:53 صبح
این خط رو من توی مثالهای کتاب دیدم اما هیچ توضیحی نداشت.iterator توی این مثال این دستور چیه؟

string :: iterator itr1 = str2.begin();
مورد بعدی هم اینکه من وقتی هدر فایل string رو به برنامه اضافه می کنم نمی تونم از نوع string در برنامه ام استفاده کنم مگر اینکه using namespace استفاده کنم.چرا؟

اوبالیت به بو
پنج شنبه 14 آبان 1388, 09:35 صبح
مورد بعدی هم اینکه من وقتی هدر فایل string رو به برنامه اضافه می کنم نمی تونم از نوع string در برنامه ام استفاده کنم مگر اینکه using namespace استفاده کنم.چرا؟
احتمالا از کامپایلر Turbo C کار می کند. تو TC بعضی هدر ها using نمیشه.

ali zi zeperto
پنج شنبه 14 آبان 1388, 09:54 صبح
با gcc کار می کنم.(لینوکس)
چراش رو نگفتید؟البته اگه هدر فایلش رو هم استفاده نکنم باز هم میشه از سرفایل string استفاده کرد اما به شرطی که using namespae رو استفاده کنم.چرا؟خودمم نمی دونم.یعنی بازم میشه نوع string رو در برنامه استفاده کرد اما باید از فضای نام استفاده کنم.

mehdi.mousavi
پنج شنبه 14 آبان 1388, 10:01 صبح
این خط رو من توی مثالهای کتاب دیدم اما هیچ توضیحی نداشت.iterator توی این مثال این دستور چیه؟

string :: iterator itr1 = str2.begin();
مورد بعدی هم اینکه من وقتی هدر فایل string رو به برنامه اضافه می کنم نمی تونم از نوع string در برنامه ام استفاده کنم مگر اینکه using namespace استفاده کنم.چرا؟



سلام.
شما می تونید برای اینکه با Iterator ها در STL آشنا بشید، به این سایت رجوع کنید. (http://www.cprogramming.com/tutorial/stl/iterators.html)اما پیشنهاد می کنم یک کتاب STL بگیرید و بخونید تا به پاسخ همه این سوالات برسید.

حامد مصافی
پنج شنبه 14 آبان 1388, 10:27 صبح
string در فضای نام std قرار گرفته است. پس برای استفاده از آن شما دو روش دارید:

1- دسترسی مستقیم:

std::string str;

2 - درج فضای اسمی مربوطه:

using namespace std;
...
string s;

iterator یک مرورگر آرایه یا کلکسیون است.
مثال :

string str = "sample string";
string::iterator It = str.begin();

while ( It != str.end() )
cout << *It++;

cout << endl;اوپراتور ++ مکان بعدی آرایه را در iterator مشخص می کند.
اوپراتور * به محتوی عضو متناظر آرایه اشاره می کند.
bedin و end از کلاس string محل شروع و پایان رشته در حافظه هستند.