SORU
20 Mayıs 2011, Cuma


Devre dışı kopya kurucu

Dersim var :

class SymbolIndexer {
protected:
  SymbolIndexer ( ) { }

public:
  static inline SymbolIndexer & GetUniqueInstance ( ) 
  { 
    static SymbolIndexer uniqueinstance_ ;
    return uniqueinstance_ ; 
  }
};

Nasıl devre dışı bırakmak için kodu değiştirmek gerekir:

SymbolIndexer symbol_indexer_ = SymbolIndexer::GetUniqueInstance ( );

ve sadece kodu ver :

SymbolIndexer & ref_symbol_indexer_ = SymbolIndexer::GetUniqueInstance ( );

CEVAP
20 Mayıs 2011, Cuma


Kopya yapıcı özel yapmak ve uygulanmasını sağlamak

private:
    SymbolIndexer(const SymbolIndexer& that);

Veya C 11, açıkça yasaklar:

SymbolIndexer(const SymbolIndexer& that) = delete;

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Bart Baker

    Bart Baker

    1 Aralık 2006
  • Joe DiFeo

    Joe DiFeo

    7 AĞUSTOS 2012
  • WHZGUD2

    WHZGUD2

    21 EYLÜL 2011