Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Delphi - popis struktury typu string...

Mam taku nezvyklu otazku... existuje niekde podrobny popis struktury typu string? A dalsia otazka... uchovava si niekde typ string dlzku retazca? To ze je nulou ukonceny, to som si vypisal... ak som zacal robit vypis o 4 bajty pred zaciatkom retazca v pamati, tak mi zobrazilo dlzku retazca... da sa to povazovat naozaj za dlzku retazca?

Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
Aby som to este upresnil: po zadani retazca "ahoj" som si dal vypisat obsah pamate typu string, s ty…
Intex 22.02.2006 11:20
Intex
To znamena, ze je to tak ako pise JM. BTW. s takymi vecami by si v programe podla mna pracovat nema…
MM.. 22.02.2006 11:56
MM..
S tymto urcite nepracujem, bol to iba akysi test. Moze to zavisiet od verzie prekladaca, alebo od je… nový
Intex 22.02.2006 13:43
Intex
Ja neviem kde je ten "String" definovany, ale v buducej verzii moze byt trebars ta velkost 64bitova,… nový
MM.. 22.02.2006 13:54
MM..
Vypis pamate tejto dynamickej premennej bol len akymsi testom pre mna a ma iba informativny charakte… nový
Intex 22.02.2006 13:59
Intex
Ok, v pohode, ja som len na to chcel upozornit ;-) Samozrejme skumaniu a testovaniu sa ziadne medze… poslední
MM.. 22.02.2006 14:02
MM..

Aby som to este upresnil: po zadani retazca "ahoj" som si dal vypisat obsah pamate typu string, s tym, ze vypis zacal o 4 bajty skor + este 1 bajt pridany na koniec... a vysledok: 04 00 00 00 61 68 6F 6A 00.

To znamena, ze je to tak ako pise JM.

BTW. s takymi vecami by si v programe podla mna pracovat nemal (pouzi memberov danej triedy, alebo prislusne funkcie prekladaca, edit: alebo strukturu definovanu niekde v include subore prekladaca apod. - potom ta nezaujimaju absolutne offsety), ptz. take veci mozu (netvrdim ze musia) zavisiet od verzie prekladaca a dokonca aj od jeho nastaveni, to moze potom jeden kukat ze co ten program stvara ak niekto nieco zmeni v nastaveniach apod.

Ja neviem kde je ten "String" definovany, ale v buducej verzii moze byt trebars ta velkost 64bitova, alebo (teoreticky) ju mozu ovplyvnit nastavenia prekladaca napr. tykajuce sa single-byte / multi-byte (t.j. unicode) stringov apod.
Pisem len vseobecne, a teoreticky, netvrdim ze sa niekedy zmeni zrovna tato struktura, ale programy sa nepisu stylom preskumam si to vypisom pamati, ale pouzijem prislusne metody/funkcie (ktore ak sa ta struktura niekedy zmeni tak sa zmenia tiez) alebo ak prekladac ma niekde tu strukturu definovanu napr. nieco ako _string_struc a potom pouzit _string_struc.length, apod.
(V C/C++ su take veci bezne v *.h suboroch, aj s patricnymi #ifdef zavisiacimi od nastaveni prekladaca).

Vypis pamate tejto dynamickej premennej bol len akymsi testom pre mna a ma iba informativny charakter. Nikde v ziadnom programe to aj tak nevyuzijem. Hovorim, bol to iba test, nic viac. Len ma zaujimalo, ci si tento typ uchovava dlzku svojho retazca...

Zpět do poradny Odpovědět na původní otázku Nahoru