Birisinin boş bir vektöre sahip olması, ancak başlangıç ve bitiş iteratoslarının aynı olmadığının deneyimlenip deneyimlemediğini merak ediyorum.Empty std :: vector begin! = End
Teşekkürler
Birisinin boş bir vektöre sahip olması, ancak başlangıç ve bitiş iteratoslarının aynı olmadığının deneyimlenip deneyimlemediğini merak ediyorum.Empty std :: vector begin! = End
Teşekkürler
Bu mümkün olmamalıdır./6
begin()
[container.requirements.general] standart durumları kabın ilk eleman atıfta bir yineleyici döndürür.end()
, öğesinin kapsayıcının son değeri olduğu bir yineleyici döndürür. Kap daha sonra, boş isebegin() == end();
yüzden contianer.empty() == true
o zaman container.begin()
container.end()
Standartların ne söylediğini biliyorum ama lütfen daha açık fikirli olun ve bunu doğa yasaları olarak kabul etmeyin. Böyle durumlarda olabilir ve ben sadece birisi –
açık fikirli olsaydı ben wandering Ben sadece olamaz standardına göre bildiriyorum. Eğer varsa, uygulamanızda bir hata var ve düzeltilmesi gerekiyor. – NathanOliver
@IrakliDarbuashvili: Bunlar kurallar, ve onlarla buluşamayan tek bir güncel C++ uygulamasını bilmiyorum. Sağladığınızı ve MCVE'un bir şekilde gizli bilgi verdiğine inandığınız için, daha deneyimli olmamanız, sizin gözlemlediğiniz şeyin kodunuzdaki bir hata veya gözlemlerinizin yanlış yorumlanması olduğuna inanıyorum. – IInspectable
Garip eşit olmalıdır ... soruyu haklı bir kod örneği var mı? – blazs
Göz önünde bulundurulduğunda, 'begin()' için bir boş 'std :: vektörü 'için' end()' değerine eşit olma zorunluluğu vardır, birinin bunu daha önce gözlemlediğinden şüphe duyuyorum. C++ ya da uyumlu bir C++ uygulaması hakkında konuşmuyorsak. Bu durumda hangi derleyici ve platform kullanıyorsunuz? – IInspectable
Bunu anımsamak gibi görünüyor, ama bu "STL" şey yeni ve muhtemelen, ortak olduğu zaman muhtemelen en az 20 yıl önce (belki daha fazla) oldu. –