Ц ++

Како се користи Ц ++ Стринг Литерал

Како се користи Ц ++ Стринг Литерал
На тастатури рачунара су одштампани знакови. Када притиснете тастер, на екрану ћете видети знак. Напомена: размак је такође карактер. Знаковни низ је низ знакова. Овај чланак објашњава како се користе Ц ++ стринг литерали. Требали бисте знати о Ц ++ низовима и показивачима да бисте разумели овај чланак.

Карактер дословно

Карактер слова је знак у појединачним наводницима. Тако,

цхар идент1 = 'А'; цхар идент2 = 'б'; цхар идент3 = '4'; цхар идент4 = '6';

су све различите дефиниције ликова. Имајте на уму да је цифра у појединачним наводницима знак, а не цео број.

Излазни низ као што је \ ”(види доле) у појединачним наводницима је знак. Тако,

цхар идент1 = '"';

је карактер.

Појединачни симбол у двоструким наводницима није знак; то је низ од једног знака. Дакле, „А“ или „ц“ или „2“ није карактер већ је низ од по једног знака.

Променљива знака може се доделити касније у програму, на следећи начин:

цхар идент = 'к';
идент = 'И';

Да бисте зауставили промену карактера додељеног идентификатору, касније у програму, испред дефиниције ставите резервисану реч цонст, како следи:

цонст цхар идент = 'д';

За променљиву идент се каже да је само за читање.

Стринг Литерал

Знаковни низ је низ знакова у двоструким наводницима. Тако,

цхар идент1 [] = "Волим те"; цхар идент2 [] = "Мрзим 3 од вас"; цхар идент3 []
= "ми смо свет"; цхар идент4 [] = "Здраво свете!";

су све различите дефиниције стринг литерала. Обратите пажњу на употребу двоструких наводника. Не постоји ништа попут обичне променљиве за низ. Низни литерал је низ знакова, где је, уместо да се ограничава са , низ одваја са „“. Знакови се не одвајају зарезима. Било који број већи од броја знакова у дословном низу може се ставити у углате заграде. Међутим, углате заграде је боље оставити празне.

Један знак у двоструким наводницима није знак; то је низ од једног знака. Дакле, „А“ или „ц“ или „2“ није знак, већ низ од по једног знака.

Низ променљиве не дозвољава поновно додељивање комплетног литерала, касније у програму - погледајте доле. Међутим, појединачни знакови се могу поново доделити - погледајте доле.

Једноструки и двоструки навод у карактеру или литерали

Да бисте имали један цитат као лик, учините нешто слично,

цхар идент = '\' ';

Да бисте имали двоструки наводник као знак у дословном низу, урадите нешто слично,

цхар идент [] = "аб" цд ";

Повратна коса црта користи се у секвенци за бекство како би се избегао сукоб са граничницима. Да бисте имали двоструки наводник као знак, нема потребе за косом цртом: '' 'је у реду. Да бисте имали један наводник у дословном низу, није потребна коса црта: „аб'цд“ је у реду.

Будући да се коса црта користи за избегавање карактера, она се мора избећи помоћу друге повратне косе црте када се користи као знак или у литералу низа.

Есцапе Секуенце

Секвенца за бекство је једно од:

\ '"\? \\ \ а \ б \ ф \ н \ р> \ т \ в

Свака секвенца за улазак се обично укуцава или као знак у појединачним наводницима или као секвенца за излаз у двоструким наводницима.

Операције са ликовима

Спајање

По дефиницији, два стринг литерала могу се спојити са размаком на следећи начин:

цхар идент [] = "абц" "деф";
цоут << ident << "\n";

Излаз је: абцдеф . Ова дефиниција се може проширити на више од два слова. Напомена: изјава је дефиниција, а не само задатак. Дефиниција се чак може наставити на следећи ред с размаком који раздваја линије на следећи начин:

цхар идент [] = "абц" "деф"
"гхи";
цоут << ident << "\n";

Излаз је, абцдефгхи.

Напомена: Знакови се не могу повезати на овај начин, јер појединачни наводници за знак не могу имати више од једног симбола.

Оператори равноправности

Исти знакови у истом случају су једнаки. Нису једнаки ако нису из истог случаја. Размотрити,

резултат боол = 'Б' == 'Б';
цоут << result << "\n";

== значи једнако, док = значи додељено, а не једнако. Излаз је 1 за тачно. Размотрити,

резултат боол = 'Б' == 'б';
цоут << result << "\n";

Излаз је 0 за фалсе. Размотрити,

резултат боол = 'б' == 'ц';
цоут << result << "\n";

Излаз је 0 за фалсе. Размотрити,

резултат боол = 'Б' != 'Б';
цоут << result << "\n";

!= значи неједнако, док = значи додељено и неједнако. Излаз је 0 за фалсе. Размотрити,

резултат боол = 'Б' != 'б';
цоут << result << "\n";

Излаз је 1 за тачно. Размотрити,

резултат боол = 'б' != 'ц';
цоут << result << "\n";

Излаз је 1 за тачно.

Дакле, == и != су оператори једнакости.

Релациони оператори

За обичне знакове у Ц ++, у растућем редоследу, бројеви долазе испред великих слова, која долазе испред малих слова.

Тако < will return true (1) when the left character is less than the right character. The other relational operators, <=, >, > = су слично објашњени.

Гудачки литерал као објекат

Низ је стални показивач на почетак одређеног низа типова података. Слично томе, низ је стални показивач на почетак низа знакова. Упоредите следеће дефиниције:

инт арр [] = 3, 4, 5, 6, 7;
цхар стр [] = 'в', 'о', 'м', 'а', 'н';
цхар стри [] = "жена";

Први низ је низ интова и има пет елемената. Други и трећи низ су низови знакова са различитим именима, али са истим бројем елемената. Други и трећи низ су исти, али за своја имена. Текстуални садржај другог низа ограничен је заградама; знакови су одвојени зарезима и сваки знак је у појединачним наводницима. Текстуални садржај трећег низа ограничен је двоструким наводницима; знакови нису одвојени зарезима и сваки знак није у појединачним наводницима. Други и трећи низ су два начина за стварање низа, при чему је трећи начин бољи.

арр је константан показивач на први елемент свог низа, што значи да ће арр увек указивати на локацију која има цели број, 3 чак и ако је вредност 3 промењена. Величина низа, пет елемената, заправо не остаје константна. Међутим, свака од вредности низа се може променити.

стр је константан показивач на први елемент свог низа, што значи да ће стр увек показивати на локацију која има карактер, 'в', чак и ако је вредност 'в' промењена. Величина низа знакова, пет елемената, заправо не остаје константна. Међутим, свака од вредности литерала може се променити.

стри је константан показивач на први елемент његовог литерала (низа), што значи да ће стри увек показивати на локацију која има карактер, чак и ако је вредност в промењена. Величина литералног низа (низа), пет елемената, заправо не остаје константна. Међутим, свака од вредности литерала може се изменити.

Шта је константа у низу или литералном низу? Адреса меморије првог елемента низа или литерала остаје као вредност имена (идентификатора) низа или литерала и не може се променити. Па, величина низа или литерала заправо не остаје константна. Свака вредност у низу или литерали може се променити. Следећи код показује како је промењен четврти елемент сваког од низова:

инт арр [] = 3, 4, 5, 6, 7;
цхар стр [] = 'в', 'о', 'м', 'а', 'н';
цхар стри [] = "жена";
арр [3] = 9;
стр [3] = 'е';
стри [3] = 'е';
цоут << arr[3] << '\n';
цоут << str << '\n';
цоут << stri << '\n';

Излаз је:

9
жене
Жене

Имајте на уму да се елементима дефинисаног литералног низа, као и горњој трећој дефиницији, може приступити помоћу индекса низа (индекс). Разлог за други ред резултата дат је у наставку.

Дефиниција Субсцрипт

Имајте на уму да у горњим дефиницијама нема целог броја за индекс. Када програмер не може лако одредити број елемената, цео број за индекс треба изоставити. Шта год да је случај, цео број не сме бити мањи од броја елемената у низу.

За литерал низа, цели број треба да буде најмање 1 већи од броја знакова у низу. То је зато што преводилац увек додаје нулу (\ 0) на крају низа који је низ, одвојен двоструким наводницима. Нулти знак се не додаје на крају другог низа изнад, јер није службени низ. Трећи низ је службени низ. Следећи код приказује минималне вредности индекса.

инт арр [5] = 3, 4, 5, 6, 7;
цхар стр [5] = 'в', 'о', 'м', 'а', 'н';
цхар стри [6] = "жена";

Да би друга дефиниција постала званични низ, нулл знак мора бити додат на следећи начин:

инт арр [5] = 3, 4, 5, 6, 7;
цхар стр [6] = 'в', 'о', 'м', 'а', 'н', '\ 0';
цхар стри [6] = "жена";

Излаз би сада требао бити,

9
Жене
Жене

без друге „жене“. Имајте на уму да је одговарајући индекс за други низ 6, а не 5 као што је био.

Сталне књижевне вредности

Да бисте спречили модификовање било ког знака у двоструким наводницима додељеним идентификатору, касније у програму, испред дефиниције ставите резервисану реч цонст, како следи:

цонст цхар идент [] = "Волим те";

Операције са низовима слова

Операције равноправности

Оператори једнакости су == и != . Када се упореде променљиве (идентификатори) два низа, упоређују се показивачи (адресе) литерала; то је погрешно. Да би се упоредили низови, литерали се морају упоређивати, као у следећем коду:

резултат боол = "жена" == "жена";
цоут << result << '\n';

Излаз је 1 за тачно. Поређење се врши у речнику, али бројеви долазе први у растућем редоследу, пре великих слова, која долазе испред малих слова. Излаз следећег кода је 0, за фалсе.

резултат боол = "жена" != "жена";
цоут << result << '\n';

Релациони оператори са низовним литературама

Релациони оператори не раде са стринг литералима.

Рав Стринг Литерал

Необрађени литерал низа омогућава приказ низа као откуцан, игноришући излазне секвенце и поштујући нове редове. Узмите у обзир следећи код:

цхар стр [] = Р "(абц \\ д ефг хиј
клмн \ н "'опк
прво) ";
цоут << str << '\n';

Излаз је:

абц \\ д ефг хиј
клмн \ н "'опк
прво

У коду, необрађени дословни низ почиње с Р, а иза њега слиједи „и ( . Завршава се са) и „.

Ц ++ главне врсте литералних низова

цхар

Тип цхар је оригинални Ц ++ тип и обично чува знак у 8 бита.

цхар16_т

Ово спрема лик у 16 ​​битова.

цхар32_т

Ово спрема лик у 32 бита.

вцхар_т

цхар16_т и цхар32_т су широки знакови. вцхар_т је широког карактера који је власнички и дефинисан имплементацијом.

Закључак

Карактер знака је један знак у појединачним наводницима. Излазни низ је знак који такође може бити у појединачним наводницима. Знаковни низ је низ знакова у двоструким наводницима. Низ литерала је низ знакова који се завршавају са \ 0. Оператори једнакости и релације раде са литералима знакова. Оператори једнакости раде са стринг литералима, али релацијски оператори не раде са стринг литералима. Идентификатори знакова могу се користити у поређењу, али идентификатори низова не би требало користити у поређењу. Необрађени литерал низа омогућава приказ низа као откуцан, игноришући излазне секвенце и поштујући нове редове.

Цхрис

Како користити АутоКеи за аутоматизацију Линук игара
АутоКеи је услужни програм за аутоматизацију радне површине за Линук и Кс11, програмиран на Питхон 3, ГТК и Кт. Користећи његову скриптну и МАЦРО функ...
Како приказати бројач ФПС-а у Линук играма
Линук гаминг добио је велики потицај када је Валве најавио Линук подршку за Стеам клијент и њихове игре 2012. године. Од тада су многе ААА и индие игр...
Како преузети и играти Сид Меиер'с Цивилизатион ВИ на Линук-у
Увод у игру Цивилизатион 6 је модерни поглед на класични концепт представљен у серији игара Аге оф Емпирес. Идеја је била прилично једноставна; започе...