26 EYLÜL 2011, PAZARTESİ
c 11 foreach sözdizimi ve özel yineleyici
STL kapsayıcı yerine kullanılan bir konteyner için bir yineleyici yazıyorum. Şu anda konteyner c 11 foreach syntax eg ile birçok yerde kullanılıyor STL: for(auto &x: C). Kodu güncellemek için STL konteynırı saran özel bir sınıf kullanmak için gerekli
template< typename Type>
class SomeSortedContainer{
std::vector<typename Type> m_data; //we wish to iterate over this
//container implementation code
};
class SomeSortedContainerIterator{
//iterator code
};
Nasıl otomatik kod şu şekilde çağrılabilir olduğu çok özel bir konteyner için doğru yineleyici kullanmak olsun?:
SomeSortedContainer C;
for(auto &x : C){
//do something with x...
}
Genel olarak otomatik bir sınıf için doğru yineleyici kullanmasını sağlamak için ne gerekiyor?
CEVAP
26 EYLÜL 2011, PAZARTESİ
İki seçeneğiniz var:
C.begin()C.end(); gibi adlı üye fonksiyonlarbeginendadlı sağlayın- aksi takdirde, verdiğiniz ücretsiz işlevleri adlı
beginendbulunabilir kullanılarak bağımlı değişken arama, ya da adstdve çağrılabilir gibibegin(C)end(C).
Bunu PaylaÅŸ:

razor sözdizimi - foreach döngüsü...
diziye foreach döngü değerleri saklama...
Özel HTTP başlıkları : adlandırma kura...
JavaScript özel İstisnalar...
SQL sözdizimi büyük / küçük harfe duya...