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


строки”, простейший символьный массив может быть определен следующим образом: char staticName [20]



Download 1,38 Mb.
bet275/437
Sana22.02.2022
Hajmi1,38 Mb.
#89455
TuriРеферат
1   ...   271   272   273   274   275   276   277   278   ...   437
Bog'liq
word1

строки”, простейший символьный массив может быть определен следующим образом: char staticName [20];



Здесь объявляется символьный массив (называемый также строкой) фиксированной (а значит, статический) длины в 20 элементов. Как видно, этот массив может содержать строку ограниченной длины, он оказался бы переполнен при попытке сохранить в нем больше символов. Изменение размеров такого статического массива невозможно. Для пре­ одоления этого ограничения язык C++ предоставляет динамическое распределение памяти для данных. Вот более динамическое представление строкового массива:


char* dynamicName = new char [ArrayLength];


Это динамически распределенный символьный массив, длина экземпляра которого может быть задана при создании значением переменной ArrayLength, определяемым во время выполнения, а следовательно, способный содержать данные переменной длины. Но если понадобится изменить длину массива во время выполнения, то придется сначала освободить распределенную память, а затем повторно зарезервировать ее для содержания необходимых данных.


Все усложняется, если такие символьные строки используются как атрибуты класса.



  1. ситуациях, когда объект этого класса присваивается другому, при отсутствии грамотно созданного конструктора копий и оператора присваивания, эти два объекта будут содер­ жать копии указателя, по существу указывающего на тот же строковый буфер. В резуль­ тате два строковых указателя в двух объектах будут содержать одинаковый адрес, а сле­ довательно, указывать на ту же область в памяти. В результате удаления первого объекта указатель в другом объекте оказывается недействительным и на горизонте вырисовывает­ ся приближающийся аварийный отказ.

Строковые классы решают эти проблемы самостоятельно. Строковый класс std : : s tr in g библиотеки STL моделирует символьную строку, а класс std : :w strin g — широкую символьную строку, помогая вам следующими способами.




  1. Download 1,38 Mb.

    Do'stlaringiz bilan baham:
1   ...   271   272   273   274   275   276   277   278   ...   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