2017-07-20 24 views

cevap

11

biz [associative.reqmts] en/12 bakarsak bir birleştirici kap bile, kabul nesneye bir işaretçi veya referans olarak saklamak değildir kabı nesne bir karşılaştırma geçirilmesiyle oluşturulur

sahip Bu nesne referans ile geçirilir. Bir birleştirici kap kopyalanmış bir kap kopyalandığında, bir kopya oluşturucu veya bir atama operatörü aracılığıyla, hedef kapsayıcı, karşılaştırma nesnesini kopyalanan kapsayıcıdan, bu karşılaştırma nesnesi yapıcısındaki hedef kapsayıcıya geçirilmiş gibi kullanmalıdır.

vurgu benim

Yani, örnekte, map1map2 'ın karşılaştırıcının bir kopyasını alacaktır.

-2

cplusplus.com itibaren kopyalamaya karşı yapıcı altında (3) diyor görebilirsiniz

(3) map (const map& x);

konteyner için kullanılan alloc ve comp, bir iç kopyasını saklar depolama alanı ayırın ve öğeleri ömür boyu sıralayın. Kopya oluşturucusu (3), x'in ayırıcı ve karşılaştırma nesnesinin kopyasını tutan ve kullanan bir kapsayıcı oluşturur.

+3

OP bir Standart referansı istemiyor mu? Ayrıca, 'cplusplus.com' hiçbir şey için neredeyse güvenilir bir referans değildir. – Rakete1111

+1

Ayrıca OP, kopyalama kurucusunu değil, kopya atama işlecini soruyor. – NathanOliver

+0

Operatör hakkında soru soruyordum =. Bunu sormanın bir nedeni, cplusplus.com gibi sitelerin bu önemli ayrıntı hakkında hiçbir şey söylememesiydi. Bakınız: http://www.cplusplus.com/reference/map/map/operator=/ –

İlgili konular