SORU
6 ŞUBAT 2009, Cuma


Neden't aşırı '.' C operatör ?

Mümkün aşırı olması çok yararlı olacaktır . C operatör ve bir nesneye bir başvuru döndürür.

operator-> operator* operator. aşırı yüklenmeye neden olabilir

Bunun için teknik bir neden var mı?

CEVAP
6 ŞUBAT 2009, Cuma


here bkz

(Seçim) üye erişimi operatörü (. denir nasıl) prensibi aşırı -> için kullanılan aynı tekniği kullanarak olabilir. Ancak, bu işlem nesne . veya bir nesne . tarafından anılan aşırı yükleme için bir anlamı olup olmadığı konusunda sorulara yol açabilir örneğin:

class Y 
{
    public:
        void f();
};

class X 
{
    Y* p;
    Y& operator.() { return *p; }
    void f();
};

void g(X& x)
{
    x.f();  // X::f or Y::f or error?
}

Bu sorun çeşitli şekillerde çözülebilir, ama standardizasyon zamanda olacak, daha belli değildi.

Daha fazla ayrıntı için The Design and Evolution of C bkz.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Kontor.TV

    Kontor.TV

    14 Mart 2006
  • Marissah Simonini

    Marissah Sim

    25 HAZİRAN 2013
  • The Platform

    The Platform

    14 HAZİRAN 2006