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

  • cekehechu

    cekehechu

    20 HAZİRAN 2006
  • Vagrant Records

    Vagrant Reco

    8 Mayıs 2006
  • Vsauce

    Vsauce

    30 Temmuz 2007