رشته در C
در حقیقت زبان C
نوع دادهای به نام رشته نداره بلکه رشته رو به عنوان آرایهای از کاراکترها در نظر میگیره. به این صورت میشه به آرابهای از اعداد صحیح هم نام یک نوع داده داد.
اما همین آرایهای از کاراکترها در C
طوری گسترده شده و برای کاربردهای مختلف براش تابع نوشته شده که واقعاً به عنوان جایگزین یک نوع داده عمل میکنه.
به عنوان مثال الحاق دو رشته به همدیگه. جستجوی یک رشته در رشتهی دیگه. کپی یک رشته در یک رشتهی دیگه.
به این نوع داده که در C
رشته نامیده میشد در زبان C++
رشتهی C
یا C-string
گفته میشه و هنوز هم مورد استفاده هست.
برای مثال کد زیر در C
برای استفاده از رشتهها
char str1[20];
char str2[30];
...
if(strlen(str1) < strlen(str2))
{
strcpy(str2, str1);
}
رشته در C++
همون طور که گفته شد رشتهی C
در C++
وجود داره. اما با ایجاد شیگرایی تعریف انواع داده راحتتر و سریعتر و از نظر پیادهسازی موثرتر شد. بنابراین نوع دادهی جدیدی در C++
ایجاد شد که با نام رشته شناخته میشود.
string
در زبان C++
دیگه فقط آرایهای از کاراکترها نیست. بلکه یک کلاس تعریف شده هست. که دارای توابع عضو زیادی هم هست.
مثال قبلی رو با رشتهی C++
در نظر میگیرم
string str1, str2;
if(str1.length() < str2.length())
{
str2 = str1;
}
هیچ پژوهش انسانی نمیتواند ادعای علمی بودن داشته باشد، مگر اینکه از برهان ریاضی برخوردار باشد (لئوناردو داوینچی)