Sabit ve sabit olmayan anahtarı arasındaki fark nedir?
Aşağıdaki iki satır arasındaki fark nedir?
map<int, float> map_data;
map<const int, float> map_data;
CEVAP
intconst intiki farklı türleri vardır.std::map<int, float>std::map<const int, float>, benzer şekilde, farklı türleri vardır.
std::map<const int, float> std::map<int, float> arasındaki fark,,, std::map<int, float> say ve 11*;* arasındaki fark benzer bir dereceye kadarher biri için taze bir harita türü.
Olmayanconst Bu durumda, iç anahtar türühala sigara-* int*13:
std::map<const int, float>::key_type => const int
std::map<int, float>::key_type => int
Ancak, göster anahtarlarıanlamsaldeğişmez ve anahtarları doğrudan erişim (örneğin, value_type verimleri kaldırma kullanımına,) izin tüm işlemleri göster constmu key_type bir:
std::map<const int, float>::value_type => std::pair<const int, float>
std::map<int, float>::value_type => std::pair<const int, float>
O kadar farkolabilirEğer uygulama izin veriyorsa önemli olan her şekilde size büyük ölçüde görünmez.
Bu her zaman böyle değil ama: standart resmengerektirircopyable ve hareketli olmak anahtar türü, ve some implementations re-use map nodes; Bu uygulamaları altında const bir anahtar kullanmaya çalışırken sadece işe yaramaz.

Sabit ve salt okunur arasındaki fark n...
Sabit*, int * sabit ve sabit int *int ...
Sembolik bağlantı ve sabit bir bağlant...
* Sabit ve sabit char *char arasındaki...
NP, NP-Tam arasındaki farkları ve Sabi...