در C++
رشته یه container هست مثل vector
و set
که میتونه از یک نوع داده تشکیل بشه. نوع تعریفش هم با استفاده از قالب زیر هست
template<
class CharT,
class Traits = std::char_traits<CharT>,
class Allocator = std::allocator<CharT>
> class basic_string;
بنابراین میشه رشته رو از انواع مختلف ساخت. string
و wstring
به صورت زیر ساخته میشن
typedef std::basic_string<char> string;
typedef std::basic_string<wchar_t> wstring;
بنابراین از نظر استفاده دقیقاً مثل هم هستن. کاربرد string
با رشتههای اسکی هست و کاربرد wstring
با رشتههای یونیکد. طبیعتاً رشتهی یونیکد کمی سرعتش از رشتهی اسکی پایینتره به دلیل استفاده از فضای بیشتر (و شاید هم نباشه؟!)
هیچ پژوهش انسانی نمیتواند ادعای علمی بودن داشته باشد، مگر اینکه از برهان ریاضی برخوردار باشد (لئوناردو داوینچی)