SORU
27 HAZİRAN 2011, PAZARTESİ


Ne kadar güvenilir bir nesnenin adresi alabilir miyim?

Aşağıdaki programı deneyin:

struct ghost
{
    // ghosts like to pretend that they don't exist
    ghost* operator&() const volatile { return 0; }
};

int main()
{
    ghost clyde;
    ghost* clydes_address = &clyde; // darn; that's not clyde's address :'( 
}

Nasıl clyde'in adresi alabilirim?

Aynı zamanda nesnelerin her türlü için çalışacak bir çözüm arıyorum. C 03 bir çözüm iyi olurdu, ama C 11 çözümleri çok ilgileniyorum. Mümkünse, uygulama özgü herhangi bir davranış uzak duralım.

C 11 std::addressof şablon işlevi, ama burada kullanılması ile değilim farkındayım: Standart Kitaplık bir uygulayıcı bu işlev şablonu. uygulamak nasıl anlamak istiyorum

CEVAP
27 HAZİRAN 2011, PAZARTESİ


Aslında, bir-char referans olarak nesneyi yeniden yorumlama, adresini (aşırı aramıyor al ve işaretçi geri türünde bir işaretçi çevirebilirsiniz.

Destek.AddressOf kodu, volatile ek bakım ve const yeterlilik alarak bu tam olarak yok.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Edgar flores

    Edgar flores

    7 HAZİRAN 2006
  • HTC

    HTC

    12 Ocak 2006
  • Migs351

    Migs351

    3 HAZİRAN 2007