Diskuze: Smerníky
V předchozím kvízu, Online test znalostí C++, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 5 zpráv z 5.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí C++, jsme si ověřili nabyté zkušenosti z kurzu.
Ukazatele jsou dosti široký pojem, vlož sem kód programu a sděl nám, kde Ti co není jasné.
tak napríklad mám program, ktorý konvertuje binárne číslo do desiatkového a naopak tu je jedna metoda:
unsigned char * Koder::dekoduj(const unsigned char * heslo, const unsigned char * sifrovanytext)
{
ZakodujASCII(heslo);
DekodujASCII();
int indexDesifrovanehoTextu = 0;
int dlzkaSifrovanehoTextu = strlen((char *)sifrovanytext);
unsigned char *desifrovanyText = new unsigned char[dlzkaSifrovanehoTextu / 3 + 1];
for (int offsetTrojbajtia = 0; offsetTrojbajtia < dlzkaSifrovanehoTextu; offsetTrojbajtia += 3)
{
char pom[4];
memmove(pom, &sifrovanytext[offsetTrojbajtia], 3);
int sifrovaneCislo = atoi(pom);
desifrovanyText[indexDesifrovanehoTextu] = ASCII[sifrovaneCislo];
indexDesifrovanehoTextu++;
}
desifrovanyText[indexDesifrovanehoTextu] = '\n';
return desifrovanyText;
}
alebo potom napríklad čo znamená a kedy použijem *& súčastne, ďakujem
IOOperation::IOResult IOOperation::read(unsigned char *&data)
IOOperation::IOResult IOOperation::read(unsigned char *&data)
Z tvého prvního příspěvku jsem nabyl dojmu, že jsi nějakým způsobem nastudoval ukazatele v C. Ale tento případ používá operátor & ve smyslu C++ (pro C je toto použití nevalidní). V tomto případě se jedná o definici parametru typu **reference na unsigned char* **. Reference je také ukazatel, jenom překladač velmi silně kontroluje, jak s nimi nakládáš a platí pro ně spousta omezení. Ale pokud místo **unsigned char * & ** použiješ **unsigned char * * **, dosáhneš stejného výsledku, ač syntaxe bude jiná.
Zobrazeno 5 zpráv z 5.