Diskuze: C++ Načtení hodnoty ukazatele do proměnné __int64
V předchozím kvízu, Online test znalostí C++, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 6 zpráv z 6.
//= 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.
Ukazatel je proměnná, která je schopna pojmout adresu jiného objektu. Chceš-li uchovávat adresu jiného ukazatele, je třeba vytvořit ukazatel na ukazatel na typ.
adresa = bsrc;
Tento přiřazovací příkaz je chybný, neboť adresa není ukazatel na typ.
Pokud potřebuješ celočíselný typ pro předávání obsahu ukazatelů, tak můžeš použít na Windows LONG_PTR či ULONG_PTR, záleží, zda chceš znaménko nebo ne. Velikost těchto typů odpovídá velikosti ukazatelů (4 bajty na 32bitových a 8 bajtů na 64bitových systémech).
Normálně ti ale bude fungovat explicitní přetypování.
adresa = (__int64)bsrc;
Nemůžeš však předat té externí funkci přímo ten ukazatel? Neb o **BYTE * ** bude v tvém případě reprezentován (interně) jako 64bitové číslo, takže následující dvě deklarace externí funkce jsou ekvivalentní:
void f(__int64 arg);
void f(BYTE *arg);
(na 64bitových Windows).
Zobrazeno 6 zpráv z 6.