SORU
30 NİSAN 2013, Salı


() = () - Neden derleme mi?

class A {};

int main() {
 A() = A();
 return 0; 
}

Neden bu kod derleme yapar? Orada atama operatörünün sol tarafında olması gereken bazı hata lvalue olması gerekmez mi? Bir lvalue? g 4.7 sürümü

CEVAP
30 NİSAN 2013, Salı


Yerleşik türleri için, haklısınız: dahili atama operatörü bir değiştirilebilir gerektirirlvalueSol tarafta.

Ancak, bu yerleşik operatör, ama dolaylı olarak sınıf tarafından duyurulan aşırı kullanıyor. Bu üye işlevi, eşdeğerdir

A().operator=(A());

ve üye fonksiyonları denirrvalues.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • AlaskanGrizzly

    AlaskanGrizz

    30 EKİM 2009
  • Keith Anthe

    Keith Anthe

    26 NİSAN 2011
  • videoisunrelated

    videoisunrel

    5 Mart 2009