C++ за 21 день седьмое издание



Download 1,38 Mb.
bet286/437
Sana22.02.2022
Hajmi1,38 Mb.
#89455
TuriРеферат
1   ...   282   283   284   285   286   287   288   289   ...   437
Bog'liq
word1

#include #include




  1. #include





  1. int main ()




  1. {




  1. using namespace std;


8

cout

«

"Please enter a string for case-convertion:" << endl;

9

cout

<<

"> ";





  1. string strlnput;




  1. getline (cin, strlnput);




  1. cout « endl;

14



    1. transform(strlnput.begin(),strlnput.end(),strlnput.begin(),\



toupper);



    1. cout « "The string converted to upper case is: " « endl;

    2. cout « strlnput « endl « endl;




  1. transform(strlnput.begin(),strlnput.end(),strlnput.begin(),\



tolower);

402 ЗАНЯТИЕ 16. Классы строк библиотеки STL





  1. cout « "The string converted to lower case is: " « endl;



21: cout << strlnput « endl « endl;
2 2 :



  1. return 0;




  1. }



Результат


Please enter a string for case-convertion:


> ConverT this StrINg!


The string converted to upper case is:


CONVERT THIS STRING!


The string converted to lower case is:


convert this string!


Анализ

Строки 15 и 19 демонстрирую т, насколько эффективно прим еняется алгоритм s t d : : tr a n s f o r m () для изменения регистра содержимого строки.




Реализация строки на базе шаблона STL

Как уже упоминалось, класс s t d : : s t r i n g является фактически специализацией шаб­ лона класса STL s t d : :b a s ic _ s tr in g < T > . Объявление шаблона контейнерного класса b a s i c _ s t r i n g имеет следующий вид:




templatecclass _Elem,


class _Traits,


class _Ax>


class basic_string



  1. этом определении шаблона крайне важен первый параметр: _ Е 1 ет. Это тип объ­ ектов, хранимых коллекцией b a s i c _ s t r i n g . Следовательно, класс s t d : : s t r i n g — это специализация шаблона b a s i c _ s t r i n g для _ E lem = char, в то время как класс w s tr in g — это специализация того же шаблона для _ E lem = w char_ t. Другими словами, класс s t r i n g библиотеки STL определяется так:



typedef basic_string, allocator >


string;

Класс w s tr in g библиотеки STL определяется так:




typedef basic_string, allocator >


string;

Таким образом, все возможности и средства строк, рассмотренные до сих пор, фак­ тически предоставлены шаблоном b a s i c _ s t r i n g , а потому имею тся также у класса w s tr in g .



СОВЕТ
Используйте класс
std::wstring для приложений, которые должны поддер­

живать нелатинские символы, такие как в японском или китайском языке.



Резюме

На сегодняшнем занятии рассматривался класс s t r i n g библиотеки STL. Это предо­ ставляемый стандартной библиотекой шаблонов контейнер, обеспечивающий разработ­ чику множество возможностей по обработке строк. Данный класс предоставляет вполне очевидные преимущ ества реализации управления памятью, сравнения строк и функций манипулирования строками.


Вопросы и ответы



  1. Я должен обратить строку, используя алгоритм s t d : : reverse (). Какой заголовок следует включить, чтобы использовать эту функцию?

Чтобы функция s t d : : r e v e r s e () стала доступной, следует вклю чить заголовок


< a lg o rith m > .



  1. Какую роль играет алгоритм s t d : : transform () в преобразовании символов стро­ ки в нижний регистр при использовании функции tolow er () ?

Ф ункция s t d : : t r a n s f o r m () вызывает функцию to lo w e r () для символов объекта класса s t r i n g в пределах границ, переданных функции преобразования.




Download 1,38 Mb.

Do'stlaringiz bilan baham:
1   ...   282   283   284   285   286   287   288   289   ...   437




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish