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

  • bunnyboxx

    bunnyboxx

    17 NİSAN 2008
  • Damian Winter

    Damian Winte

    27 ŞUBAT 2007
  • ETrade Supply

    ETrade Suppl

    23 Temmuz 2011