Mi a különbség egy karakteres változó, és egy sztring tárolására alkalmas változó között?
Mire gondolsz pontosan?
Ha a char típusra gondolsz, akkor az hogy amég a char változó egy karaktert tud letárolni ('a'), addig a string egy egész karakter láncot ('alma').
A lényeg, hogy minden nyelvnek van egy ábrázolási módja. C/C++ ban a karakter char egy karaktert tud tárolni. A signed char -128/+127 értékű az unsigned meg 0-255.
A sztring egy karakter sorozat, aminek a végét mindig egy '\0' zárja le. Ha írsz saját sztring manager osztályt, akkor a while mindig itt fog breakelni, vagy performancia okokból az üres string első karaktere lesz ez. Ha úgy tetszik a karakterlánc "változó" egy pointer az első karakterre, aminek a hossza külön nincsen tárolva, ezt neked kell managelni.
char *data = new char[size];
void operator =(const char *value)
{
for (int i = 0; ; ++i)
{
word[i] = value[i];
if (value[i] == '\0') break;
}
}
Így érdemes szerintem használni mindenféle előre megírt c, meg egyéb libek nélkül pusztán a megértése miatt. Egyébként is minden platformon más-más a megvalósítás így mindig a saját megoldás a legjobb (de nem feltétlen a leggyirsabb)
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!