انجمن‌های فارسی اوبونتو

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید


توزیع گنو/لینوکس اوبونتو ۲۰ ساله شد 🎉

نویسنده موضوع: جایگزین برنامه Microsoft Visual Studio در ردهت ؟  (دفعات بازدید: 14336 بار)

0 کاربر و 5 مهمان درحال مشاهده موضوع.

آفلاین nixoeen

  • ناظر انجمن
  • *
  • ارسال: 4871
  • جنسیت : پسر
  • masoft قدیم
پاسخ : جایگزین برنامه Microsoft Visual Studio در ردهت ؟
« پاسخ #15 : 11 خرداد 1391، 02:36 ق‌ظ »
مثال میزنم توی C++ رشته  نداریم
رشته نداریم؟!
ممنون میشم یک خط کد به #C با همون رشته‌ای که توی ++C وجود نداره برامون بنویسی!
« آخرین ویرایش: 11 خرداد 1391، 01:39 ب‌ظ توسط nixoeen »

آفلاین Mostafa Jalilianfar

  • High Hero Member
  • *
  • ارسال: 1085
  • جنسیت : پسر
پاسخ : جایگزین برنامه Microsoft Visual Studio در ردهت ؟
« پاسخ #16 : 11 خرداد 1391، 05:06 ب‌ظ »
رشته نداریم؟!
ممنون میشم یک خط کد به #C با همون رشته‌ای که توی ++C وجود نداره برامون بنویسی!
C# میشه
sring strTest

توی سی پلاس
char *strTest
و با استفاده از stl
string strTest
به دلیل ترک انجمن لطفا با این ایمیل MustafaJF[at]Aol[dot]com تماس برقرار کنید و از پیام خصوصی استفاده نکنید

آفلاین nixoeen

  • ناظر انجمن
  • *
  • ارسال: 4871
  • جنسیت : پسر
  • masoft قدیم
پاسخ : جایگزین برنامه Microsoft Visual Studio در ردهت ؟
« پاسخ #17 : 11 خرداد 1391، 06:14 ب‌ظ »
رشته نداریم؟!
ممنون میشم یک خط کد به #C با همون رشته‌ای که توی ++C وجود نداره برامون بنویسی!
C# میشه
sring strTest

توی سی پلاس
char *strTest
و با استفاده از stl
string strTest
خوب پس رشته داریم که، چی میگید نداریم؟ ارتباطش با Syntax چی بود؟!
لازم به ذکره که string ارتباطی به STL نداره.
توی ++C اینجور نوشته میشه:
string strTest;توی #C اینجور نوشته میشه:
string strTest;دقیقا شبیه هم، تفاوت Syntax کجاست که من نمیبینم؟

« آخرین ویرایش: 11 خرداد 1391، 06:30 ب‌ظ توسط nixoeen »

آفلاین Mostafa Jalilianfar

  • High Hero Member
  • *
  • ارسال: 1085
  • جنسیت : پسر
پاسخ : جایگزین برنامه Microsoft Visual Studio در ردهت ؟
« پاسخ #18 : 11 خرداد 1391، 09:41 ب‌ظ »
خوب پس رشته داریم که، چی میگید نداریم؟ ارتباطش با Syntax چی بود؟!
لازم به ذکره که string ارتباطی به STL نداره.
دقیقا شبیه هم، تفاوت Syntax کجاست که من نمیبینم؟

یک سوال آیا شما برنامه‌نویسی می‌کنید و یا اینکه سرفا می‌خواید بی جهت از سی پلاس دفاع کنید (هر چند این اسمش دفاع نیست چون نمی‌دونستم اسمش چیه نوشتم دفاع)

string یکی از object های stl هستش البته در بعضی کامپالرها (فکر می‌کنم clang) این بصورت پیش فرض به ساختار سی پلاس اضافه شده البته اینرو مطمئن نیستم
همینی که باید هدر فایلش رو باید وارد کنی دلیلی بر اینه که جزیی از ساختار سی پلاس نیست
strinل رو شما پرسیدی و من در جواب شما روش تعریفش رو گفتم من به سینتکس ربتش ندادم
بزار یک نمونه خیلی ساده از سینتکس غیر استاندارد هم نشون بدم که دیگه بحثی باقی نمونه و این بحث بی ربط به این تاپیک رو تموم کنیم

vector<double> homework;
cin >> x
homework.push_back(x);
typedef vector<double>::size_type vec_sz;
vec_sz size = homework.size();

این یک نمونه کده که یک وکتور (یک نوع لیست) با نوع double تعریف می‌کنه و بعد داده‌ای که از ورودی دریافت شده رو به اون اضافه می‌کنه و در آخر یک نوع جدید تعریف می‌کنه که اندازه وکتور تعریف شده رو ذخیره می‌کنه

حالا همین توی C#‌ میشه

List lstTest = new List ();
lstTest.Add(24);
lstTest.size() 
آخری هم اندازه لیست رو میده که هر جا خواستی استفاده کنی

البته باز هم میگم مثالی که آوردم با استفاده از stl بود اگه از هیچ کتابخانه‌ای نخوای استفاده کنی باید 200 خط کد بنویسی

تعصب در هر زمینه‌ای اشتباهه چه لزومی و فایده‌ای داره من دائم بخوام بگم سی پلاس ............ ولی اگه واقعا نباشه
« آخرین ویرایش: 11 خرداد 1391، 10:53 ب‌ظ توسط MustafaJF »
به دلیل ترک انجمن لطفا با این ایمیل MustafaJF[at]Aol[dot]com تماس برقرار کنید و از پیام خصوصی استفاده نکنید

آفلاین alend

  • High Hero Member
  • *
  • ارسال: 1319
پاسخ : جایگزین برنامه Microsoft Visual Studio در ردهت ؟
« پاسخ #19 : 12 خرداد 1391، 04:20 ق‌ظ »
فکر کنم با دیدن این دو لینک موضوع مشخص بشه:

string در #c کلمه کلیدی است ولی در ++c نیست.

حالا من نمی فهمم کلمه کلیدی باشد یا کتابخانه استاندارد چه فرقی می کند!

مهم اینه که به هر حال قابلیت های string در هر دو زبان است.

آفلاین nixoeen

  • ناظر انجمن
  • *
  • ارسال: 4871
  • جنسیت : پسر
  • masoft قدیم
پاسخ : جایگزین برنامه Microsoft Visual Studio در ردهت ؟
« پاسخ #20 : 12 خرداد 1391، 04:29 ق‌ظ »
یک سوال آیا شما برنامه‌نویسی می‌کنید و یا اینکه سرفا می‌خواید بی جهت از سی پلاس دفاع کنید
بله، برنامه‌نویسی هم می‌کنم. قضیه دفاع از زبان خاصی نیست، فقط اشتباهاتی که بیان کردید رو دارم تصحیح می‌کنم. وگرنه من مخالف #C نیستم و به عنوان مثال توی همین انجمن هم گفتم که C و ++C رو برای شروع پیشنهاد نمی‌کنم.

string یکی از object های stl هستش
خیر! string یکی از Classهای C++ Standard Library هستش که اونم جزئی اصلی از خود ++C هستش. حالا اینکه ارتباط STL و C++ Standard Library چطوریه جای توضیحش اینجا نیست.

همینی که باید هدر فایلش رو باید وارد کنی دلیلی بر اینه که جزیی از ساختار سی پلاس نیست
خیر. شما توی C و ++C هر چیزی رو که بخواید استفاده کنید اول Header اون رو Include می‌کنید. به عنوان مثال یک چیزی که بخواید روی صفحه بنویسید باید iostream رو include کنید. توی C هم همینطوره و stdio رو include می‌کنید.

حالا همین توی C#‌ میشه
List lstTest = new List ();
lstTest.Add(24);
lstTest.size() 
برنامه‌ای که شما نوشتید معادل برنامه #Cای که نوشتید نبود. بذارید من معادل ++C اون رو می‌نویسم: (و برنامه‌ها رو با هم مقایسه کنید!)
list lstTest<double>;
lstTest.push_back(24);
lstTest.size();

البته باز هم میگم مثالی که آوردم با استفاده از stl بود اگه از هیچ کتابخانه‌ای نخوای استفاده کنی باید 200 خط کد بنویسی
C++ Standard Library و STL هردو جزئی از ++C هستند. اون کتابخونه جدا که کلی از قابلیت‌ها در اون هست و جزئی از ++C نیست Boost هستش.

تعصب در هر زمینه‌ای اشتباهه چه لزومی و فایده‌ای داره من دائم بخوام بگم سی پلاس ............ ولی اگه واقعا نباشه
من هم با تعصب بیجا کاملا مخالف‌ام و ++C رو بهترین زبان نمی‌دونم. (بهترین زبان معنا نداره، زبان عموما بر اساس نوع کار و چیزهای دیگه انتخاب میشه). ولی خوب اینکه در مقایسه یک زبان با یک زبان دیگه اطلاعات اشتباه دادن مثل اینکه در این زبان اصلا رشته وجود نداره، یا اینکه یک برنامه رو به سخت‌ترین حالت ممکن نشون دادن برای اینکه بگید یک زبان دیگه بهتره (برنامه‌ای که خودتون داده بودید به عنوان جایگزین رو با برنامه من مقایسه کنید!) اشتباهه.
« آخرین ویرایش: 12 خرداد 1391، 04:47 ق‌ظ توسط nixoeen »

آفلاین Mostafa Jalilianfar

  • High Hero Member
  • *
  • ارسال: 1085
  • جنسیت : پسر
پاسخ : جایگزین برنامه Microsoft Visual Studio در ردهت ؟
« پاسخ #21 : 12 خرداد 1391، 01:00 ب‌ظ »
1- دوست عزیز آبجکت (شی) رو با کلاس مینویسن string‌  با این ساختارش رو نمی‌تونی بگی کلاس چون با کلاس نوشته شده string یکی از آبجکتهای کتابخانه string هستش.
اگه کلاس باشه پس تکلیف برنامه‌نویسی شی‌گرا چی میشه

std::string is a typedef for a particular instantiation of the basic_string class template. Its definition is found in the <string> header and in the std namespace

2- string جز STL هستش اینم لینک منبع http://en.wikipedia.org/wiki/String_(C%2B%2B)
3- بزرگوار چیزی رو include می‌کنن که جزی از زبان نباشه iostream یک کتابخانست به این خاطر include می‌شه مثال درست cin و printf و float هستش که جز هسته سی پلاس هستند
۴- برنامه سی شارپ معادل سی پلاس بود و نه برعکسش هدف آوردن معادل برای سی پلاس بود و نه برای سی شارپ (دیشب خواستم تغییر بدم ولی فکر نمی‌کردم به این ایراد بگیری). توی سی شارپ وکتورها رو با لیست می‌نویسن
۵- «C++ Standard Library و STL هردو جزئی از ++C هستند» کی همچین حرفی زده !؟!؟ درسته از c++98 به اینطرف با هم استاندارد و توسعه داده می‌شن ولی باز هم به عنوان دو قسمت جدا از هم حتی توی c++11 هم کتابخانه‌های استاندارد و stl جز ساختار سی پلاس نیستند

The 1998 ANSI/ISO C++ standard consists of two parts: the core language and the C++ Standard Library; the latter includes most of the Standard Template Library (STL) and a slightly modified version of the C standard library.

http://www.mochima.com/tutorials/strings.html

Putting aside any string-related facilities inherited from C, in C++, strings are not a built-in data type, but rather a Standard Library facility

The C++ strings library includes support for two general types of strings:
std::basic_string - a templated class that encapsulates common string operations
 Null-terminated strings - arrays of characters terminated by a special token

std::string std::basic_string<char>
template<> class char_traits<std::string>;

http://en.cppreference.com/w/cpp/string

لیست واژگان کلیدی سی پلاس
http://en.cppreference.com/w/cpp/keyword

لیست واژگان کلیدی سی شارپ
http://social.msdn.microsoft.com/search/en-us?query=string&x=0&y=0
« آخرین ویرایش: 12 خرداد 1391، 01:05 ب‌ظ توسط MustafaJF »
به دلیل ترک انجمن لطفا با این ایمیل MustafaJF[at]Aol[dot]com تماس برقرار کنید و از پیام خصوصی استفاده نکنید

آفلاین Mostafa Jalilianfar

  • High Hero Member
  • *
  • ارسال: 1085
  • جنسیت : پسر
پاسخ : جایگزین برنامه Microsoft Visual Studio در ردهت ؟
« پاسخ #22 : 12 خرداد 1391، 01:09 ب‌ظ »
فکر کنم با دیدن این دو لینک موضوع مشخص بشه:

string در #c کلمه کلیدی است ولی در ++c نیست.

حالا من نمی فهمم کلمه کلیدی باشد یا کتابخانه استاندارد چه فرقی می کند!

مهم اینه که به هر حال قابلیت های string در هر دو زبان است.

ممنون که به اون دو تا لینک اشاره کردی

۹۹٪ مواقع وقتی که یک واژه در یک زبان به صورت واژه کلیدی ذخیره میشه نشان از وجود آن در ساختار اون زبانه
کتابخانه‌ها برای تکمیل زبان بکار میره و جزیی از زبان نیستند و می‌تونی از اونها استفاده نکنی و یا حتی خود کتابخانه رو هم حتی اگه پیشفرض نصب شده باشه بدون مشکل حذف کنی
به دلیل ترک انجمن لطفا با این ایمیل MustafaJF[at]Aol[dot]com تماس برقرار کنید و از پیام خصوصی استفاده نکنید

آفلاین ٍاحسان ترکم

  • High Hero Member
  • *
  • ارسال: 1039
  • جنسیت : پسر
  • Open your source, Open your mind
پاسخ : جایگزین برنامه Microsoft Visual Studio در ردهت ؟
« پاسخ #23 : 12 خرداد 1391، 06:15 ب‌ظ »
C++/Qt مشکلی رو که گفتید نداره و با QString به راحتی می‌شه با رشته‌ها کار کرد.
بین نرم‌افزار open source و نرم‌افزارهای Free Software تفاوت در روش تبلیغ و گرایش‌های عرضه‌كنندگان آن‌ها نهفته است.
در واقع كاركرد شما به عنوان عرضه كننده نرم‌افزار تفاوتی نمی‌كند،



آفلاین nixoeen

  • ناظر انجمن
  • *
  • ارسال: 4871
  • جنسیت : پسر
  • masoft قدیم
پاسخ : جایگزین برنامه Microsoft Visual Studio در ردهت ؟
« پاسخ #24 : 12 خرداد 1391، 10:11 ب‌ظ »
خوب من می‌خواستم فقط یک سری اشتباهاتتون رو اصلاح کنم که هم خودتون یک چیزی یاد بگیرید، هم اینکه برای دیگران مفید باشه، ولی انگار اصرار دارید که بگید حرف خودتون درسته، حتی مرجع‌هایی رو دادی که اونها هم حرف خودتون رو نقض میکنه.

1- دوست عزیز آبجکت (شی) رو با کلاس مینویسن string‌  با این ساختارش رو نمی‌تونی بگی کلاس چون با کلاس نوشته شده string یکی از آبجکتهای کتابخانه string هستش.
میریم سراغ مرجع خودتون: (لینک)
In the C++ programming language, the std::string class is a standard representation for a string of text. This class alleviates many of the problems introduced by C-style strings by putting the onus of memory ownership on the string class rather than on the programmer. The class provides some typical string operations...
حالا شما بگو من اشتباه میگم که String یک Class هست ولی خوب درستش اینه که یک Class هستش و بقیه هم همین رو میگن!

2- string جز STL هستش اینم لینک منبع http://en.wikipedia.org/wiki/String_(C%2B%2B)
دوباره میریم به همون لینکی که خودتون دادید: (لینک)
سمت راست، بالا نوشته C++ Standard Library و زیرش نوشته Input/Output و Strings که همون Strings انتخاب شده. خوب این یعنی String جزئی از C++ Standard Library هستش.
زیر Standard Template Library نوشته شده algorithm, bitset, functional, ... که ربطی به string نداره. کافی نیست؟ میریم به این لینک، باز هم توی ویکی‌پدیا: لینک

The C++ Standard Library provides several generic containers, functions to utilize and manipulate these containers, function objects, generic strings and streams (including interactive and file I/O), support for some language features, and everyday functions for tasks such as finding the square root of a number.

3- بزرگوار چیزی رو include می‌کنن که جزی از زبان نباشه iostream یک کتابخانست به این خاطر include می‌شه مثال درست cin و printf و float هستش که جز هسته سی پلاس هستند
اگر اونجوری بخوای بگی cin و printf هم جزئی از ++C نیست، چون cin توی هدر istream و fprint توی هدر cstdio قرار داره. حداقل خودتون خودتون رو نقض نکنید.
زبان ++C بدون C++ Standard Library مثل #C بدون NET. میمونه. در ضمن include کردن و هدرفایل‌ها ربطی به در زبان بودن یا نبودن ندارند، کلا کاربرد Headerها چیز دیگه‌ای هست.

۴- برنامه سی شارپ معادل سی پلاس بود و نه برعکسش هدف آوردن معادل برای سی پلاس بود و نه برای سی شارپ
پس متوجه کار برنامه ++C نشدید، چون چیزی که نوشته بودید اصلا معادل نبود. وقتی میگید معادل، یعنی باید دقیقا برنامه‌تون کار برنامه دیگه رو بکنه. توی برنامه ++C میاد از Console ورودی میگیرید، توی #C خودتون ۲۴ رو دستی اضافه می‌کنید، توی ++C یک Type جدید تعریف می‌کنید، توی #C کلا بیخیال اون قسمت میشید؟ شما دو برنامه متفاوت نوشتید و گفتید یکسان هستند که ثابت کنید #C ساده‌تره. خوب این حرکت اشتباهه، ولی خوب کسی که کمی برنامه‌نویسی بلد باشه می‌تونه راحت بفهمه که اون دو برنامه معادل نبودند. حالا بذارید پس من معادل اون برنامه ++C رو به #C براتون بنویسم:
برنامه ++C:
vector<double> homework;
cin >> x
homework.push_back(x);
typedef vector<double>::size_type vec_sz;
vec_sz size = homework.size();
برنامه معادل #C:
List<double> homework = new List<double>();
x = Convert.ToDouble(Console.ReadLine());
homework.Add(x);
using vec_sz = System.Int32;
vec_sz size = homework.Count;
این برنامه معادل درستشه. خط به خط مقایسه کنید هم معادله. اگر بخواید هم بگید که نه، توی #C میشه این کار رو راحت‌تر انجام داد، خوب تو ++C هم میشه، کافیه برنامه معادل قبلی‌ای که نوشتم رو بخونید. بد نیست برنامه‌ی من رو با برنامه خودتون مقایسه کنید ;)

البته احتمالا من هر چی بگم شما آخر حرف خودتون رو می‌زنید. در کل انتظار داشتم کمی حرفه‌ای‌تر جواب بدید. #C یک زبان High Levelتر از ++C هست و مزیت‌های خودش رو داره. مثلا توی Syntax اون می‌تونیم چیزهایی مثل foreach رو ببینیم که به اون شکل توی ++C نیست. اینجور موارد چیزهایی بود که من انتظار شنیدن اونها رو داشتم، نه اینکه توی ++C رشته وجود نداره یا نوشتن دو برنامه غیر معادل  که سعی کنید نشون بدید #C بهتره.

در کل فکر کنم چیزهایی که لازم بود رو گفتم، بیشتر از این بحث کردن روی همین مطالب کار خسته‌کننده‌ای هستش.

آفلاین Mostafa Jalilianfar

  • High Hero Member
  • *
  • ارسال: 1085
  • جنسیت : پسر
پاسخ : جایگزین برنامه Microsoft Visual Studio در ردهت ؟
« پاسخ #25 : 12 خرداد 1391، 11:13 ب‌ظ »
دوست عزیز شما اول بیا و کامل همه چیز رو بخون و فکر می‌کنم که منابع رو قبول داری پس در مورد منابع مشکلی نیست و بزار قدم به قدم جلو بریم

۱- اول با آرامش و دقت این متن رو بخون که نشون میده string  یک داده built-in نیست
Putting aside any string-related facilities inherited from C, in C++, strings are not a built-in data type

۲- حالا دومی اصلا عجله نکن نشون میده string یکی از الگوهای (کلاس - آبجکت - شی و یا هر چیزی که دوست داری اسمش رو بزاری) کتابخانه STL هستش
std::string is a typedef for a particular instantiation of the basic_string class template. Its definition is found in the <string> header and in the std namespace

هدف از بحث این دو مورد بود اگه قبول کردی که بقیه رو نخون وگرنه برو بعدی

هدف از معرفی اون مرجع اون خط نبود چیزی بود که در پایین ذکر کردم  پس بهش توجه کن(من نمی‌خوام تحلیل کنم که چرا گفته کلاس) دوست عزیز شما بهش بگو کلاس اگه ماشین هم ببینیم حتما باید بهش بگیم آهن چون از آهن ساخته شده ولی این مهم نیست به هر حال هر کسی ممکنه که هر چیزی رو به هر اسمی صدا بزنه

std::string is a typedef for a particular instantiation of the basic_string class template. Its definition is found in the <string> header and in the std namespace.[1]
typedef basic_string<char> string;

نقل‌قول
سمت راست، بالا نوشته C++ Standard Library و زیرش نوشته Input/Output و Strings که همون Strings انتخاب شده. خوب این یعنی String جزئی از C++ Standard Library هستش.
زیر Standard Template Library نوشته شده algorithm, bitset, functional, ... که ربطی به string نداره. کافی نیست؟ »
این چه تحلیلیه ! ! ! من ترجیح میدم که در موردش حرف نزنم

نقل‌قول
اگر اونجوری بخوای بگی cin و printf هم جزئی از ++C نیست، چون cin توی هدر istream و fprint توی هدر cstdio قرار داره. حداقل خودتون خودتون رو نقض نکنید.
زبان ++C بدون C++ Standard Library مثل #C بدون NET. میمونه. در ضمن include کردن و هدرفایل‌ها ربطی به در زبان بودن یا نبودن ندارند، کلا کاربرد Headerها چیز دیگه‌ای هست.
به  cin و printf  توجه نکرده بودم بله اونها هم جزیی از کتابخانه‌ها هستند و نه جز هسته سی پلاس
عزیز من .NET یک فریم ورک هستش چه ربطی به ساختار و سینتکس داره حرف ما چیز دیگه‌ای هستش (خود زبان برنامه نویسی و string)
میشه کاربرد هدرفایلها رو بگید شاید من رو از یک اشتباه بزرگ رهایی بدید

نقل‌قول
پس متوجه کار برنامه ++C نشدید، چون چیزی که نوشته بودید اصلا معادل نبود. وقتی میگید معادل، یعنی باید دقیقا برنامه‌تون کار برنامه دیگه رو بکنه. توی برنامه ++C میاد از Console ورودی میگیرید، توی #C خودتون ۲۴ رو دستی اضافه می‌کنید، توی ++C یک Type جدید تعریف می‌کنید، توی #C کلا بیخیال اون قسمت میشید؟ شما دو برنامه متفاوت نوشتید و گفتید یکسان هستند که ثابت کنید #C ساده‌تره. خوب این حرکت اشتباهه، ولی خوب کسی که کمی برنامه‌نویسی بلد باشه می‌تونه راحت بفهمه که اون دو برنامه معادل نبودند. حالا بذارید پس من معادل اون برنامه ++C رو به #C براتون بنویسم:
من پوزش می‌خوام که سی شارپ راه حلهای ساده‌ای هم داره که کدنویسی رو کم میکنه
توی مقایسه هدف انجام کار مشابه هستش نه مشابه بودن کد
منظور از معادل این نیست که شبیه سازی کنیم وگرنه چرا این همه زبان به وجود میاد چرا باید از سی شارپ با اون فریم‌ورک سنگینش و از STL‌  و QT و ... استفاده کرد
واقعا به این چیزی که گفتید ایمان دارید

هدف از بحث یادگیری هستش نه اینکه کسی بخواد (من یا شما) حرفش رو به کرسی بشونه به نظر من برای استفاده کسایی که ممکنه بعدا این تاپیک رو بخونن به جمع بندی برسیو و تمومش کنیم و خواهش می‌کنم توی همین موضوع بمونیم
۱- string آیا جزیی از ساختار (هسته) سی پلاس پلاس هستش و یا یک template از STL
۲- سینتکس سی شارپ استاندارد تر است یا سی پلاس پلاس
۳- هر چیزی که با کلاس ساخته بشه (string) آیا باز هم باید کلاس خوانده بشه و یا چیزی که باهاش ساخته شده (شی - object)

اگه موافقی پاسخ اینها رو بده شاید من اشتباه کنم و این باعث بشه که من از اشتباه در بیام من تازه با اجزای استاندارد سی پلاس آشنا شدم
اگه دوستان دیگه هم مشارکت کنن ممنون میشم
« آخرین ویرایش: 13 خرداد 1391، 12:00 ب‌ظ توسط MustafaJF »
به دلیل ترک انجمن لطفا با این ایمیل MustafaJF[at]Aol[dot]com تماس برقرار کنید و از پیام خصوصی استفاده نکنید

آفلاین Mostafa Jalilianfar

  • High Hero Member
  • *
  • ارسال: 1085
  • جنسیت : پسر
پاسخ : جایگزین برنامه Microsoft Visual Studio در ردهت ؟
« پاسخ #26 : 13 خرداد 1391، 02:52 ب‌ظ »
کتاب «C++ Programming cookbook»  فصل دوم «Herb Schildt's C++ Programming Cookbook»

The first type of string supported by C++ is the null-terminated string. This is a char array that contains the characters that comprise a string

const char *ptr = "Hello"

خلاصه پارسی :
string یک شی ( آبجکت ) از نوع basic_string که خود یک کلاس الگو تعریف شده بوسیله C++ می‌باشد

The second type of string is an object of type basic_string, which is a template class defined by C++. Therefore, basic_string defines a unique type whose sole purpose is to represent sequences of characters. Because basic_string defines a class type, it offers a high-
level approach to working with strings. For example, it defines many member functions that perform various string manipulations, and several operators are overloaded for string operations. There are two specializations of basic_string that are defined by C++: string
and wstring. The string class operates on characters of type char, and wstring operates on characters of type wchar_t. Thus, wstring encapsulates a wide-character string.

The string type is based on the template class basic_string, which is declared in the <string> header.

string(const Allocator &alloc = Allocator( ) )

« آخرین ویرایش: 13 خرداد 1391، 02:58 ب‌ظ توسط MustafaJF »
به دلیل ترک انجمن لطفا با این ایمیل MustafaJF[at]Aol[dot]com تماس برقرار کنید و از پیام خصوصی استفاده نکنید

آفلاین Mostafa Jalilianfar

  • High Hero Member
  • *
  • ارسال: 1085
  • جنسیت : پسر
پاسخ : جایگزین برنامه Microsoft Visual Studio در ردهت ؟
« پاسخ #27 : 13 خرداد 1391، 03:08 ب‌ظ »
کتاب «Programming with GNU Software» فصل 3: libstdc++ and the Standard Template Library


Of all the classes available to us in the STL, perhaps the most immediately useful is string.


Constructing a string object is easy

« آخرین ویرایش: 13 خرداد 1391، 03:42 ب‌ظ توسط MustafaJF »
به دلیل ترک انجمن لطفا با این ایمیل MustafaJF[at]Aol[dot]com تماس برقرار کنید و از پیام خصوصی استفاده نکنید

آفلاین Mostafa Jalilianfar

  • High Hero Member
  • *
  • ارسال: 1085
  • جنسیت : پسر
پاسخ : جایگزین برنامه Microsoft Visual Studio در ردهت ؟
« پاسخ #28 : 13 خرداد 1391، 03:17 ب‌ظ »
کتاب «The C++ Standard Library» فصل پنجم «The Standard Template Library»

The heart of the C++ standard library, the part that influenced its overall architecture, is the standard template library (STL).

You can also use strings as STL containers. By strings I mean objects of the C++ string classes (basic_string<>, string, and wstring), which are introduced in Chapter 11). Strings are similar to vectors except that their elements are characters

« آخرین ویرایش: 13 خرداد 1391، 03:43 ب‌ظ توسط MustafaJF »
به دلیل ترک انجمن لطفا با این ایمیل MustafaJF[at]Aol[dot]com تماس برقرار کنید و از پیام خصوصی استفاده نکنید

آفلاین Mostafa Jalilianfar

  • High Hero Member
  • *
  • ارسال: 1085
  • جنسیت : پسر
پاسخ : جایگزین برنامه Microsoft Visual Studio در ردهت ؟
« پاسخ #29 : 13 خرداد 1391، 03:26 ب‌ظ »
کتاب «Beginning programming with C++ for dommies» فصل 34 «Ten Features Not Covered in This Book»

In theory, the string class should do the same for C++. In practice, however, it’s not that simple. Because string is not an intrinsic type


string isn’t even a class. It’s an instance of a template class

« آخرین ویرایش: 13 خرداد 1391، 03:43 ب‌ظ توسط MustafaJF »
به دلیل ترک انجمن لطفا با این ایمیل MustafaJF[at]Aol[dot]com تماس برقرار کنید و از پیام خصوصی استفاده نکنید