«stl» etiketlenmiş sorular

Standart Şablon Kütüphanesi veya STL, genel kapsayıcılar, yineleyiciler, algoritmalar ve işlev nesnelerinin bir C ++ kütüphanesidir. C ++ standartlaştırıldığında, STL'nin büyük kısımları Standart Kitaplığa kabul edildi ve Standart Kitaplıktaki bu kısımlara bazen hatalı olarak topluca "STL" denir.

8
Std :: vector nesneleri bir push_back ile kopyalıyor mu?
Valgrind ile çok fazla araştırma yapıldıktan sonra, std :: vector'un push_back yapmak istediğiniz bir nesnenin bir kopyasını oluşturduğu sonucuna vardım. Bu gerçekten doğru mu? Vektör, kopya olmadan bir nesnenin referansını veya işaretçisini tutamaz mı ?! Teşekkürler
169 c++  stl  stdvector 


11
Std :: kuyruğunu nasıl verimli bir şekilde temizleyebilirim?
JobQueue sınıfını uygulamak için std :: queue kullanıyorum. (Temel olarak bu sınıf her işi FIFO tarzında işler). Bir senaryoda, tek çekimde kuyruğu temizlemek istiyorum (kuyruktaki tüm işleri silmek). Std :: queue sınıfında herhangi bir net yöntem görmüyorum. JobQueue sınıfı için net yöntemi nasıl verimli bir şekilde uygularım? Bir döngü içinde …
166 c++  stl  queue 

10
Tüm nesneleri mi yoksa işaretçileri kaplarda mı saklamalıyım?
Sıfırdan yeni bir sistem tasarlamak. Uzun ömürlü bazı nesnelerin listelerini ve haritalarını saklamak için STL'yi kullanacağım. Soru: Nesnelerimin kopya oluşturucularına sahip olmasını ve nesnelerin kopyalarını STL kaplarımda saklamasını mı sağlamalıyım yoksa yaşamı ve kapsamı kendim yönetmek ve yalnızca işaretleyicileri bu nesnelere STL kaplarımda saklamak daha mı iyi? Bunun ayrıntılarda biraz …
162 c++  stl  pointers 

3
Ham verilere std :: vector pointer nasıl alınır?
Dizi std::vectorolarak kullanmaya çalışıyorum char. Benim fonksiyonum geçersiz bir ibre alır: void process_data(const void *data); Sadece bu kodu kullanmadan önce: char something[] = "my data here"; process_data(something); Hangi beklendiği gibi çalıştı. Ama şimdi dinamikliği gerekir std::vector, bu yüzden bunun yerine bu kodu denedim: vector<char> something; *cut* process_data(something); Soru, vektör ham …
160 c++  stl  vector 

3
Standart konteynerlerin karmaşıklık garantileri nelerdir?
Görünüşe göre ;-) standart kaplar bir çeşit garanti sağlar. Ne tür garantiler ve farklı konteyner türleri arasındaki farklar tam olarak nedir? SGI sayfasından çalışarak ( STL hakkında ) bununla geldim: Container Types: ================ Container: Forward Container Reverse Container Random Access Container Sequence Front Insert Sequence Back Insert Sequence Associative Container …
160 c++  stl  containers  big-o 


9
C ++ valarray ve vektör
Vektörleri çok seviyorum. Şık ve hızlılar. Ama bir valarray denen şeyin var olduğunu biliyorum. Neden vektör yerine valarray kullanayım? Valarrailerin bazı sözdizimsel şekerleri olduğunu biliyorum, ama bunun dışında ne zaman yararlılar?

6
Std :: map üzerinden yineleme sırası biliniyor mu (standart tarafından garanti ediliyor)?
Demek istediğim - std::mapöğelerinin anahtarlara göre sıralandığını biliyoruz . Diyelim ki anahtarlar tamsayı. I yinelerler Eğer std::map::begin()için std::map::end()bir kullanma for, ben tuşlarıyla elemanları aracılığıyla dolayısıyla yineleme edeceğiz standart garanti yapar, artan düzende sıralanır? Misal: std::map<int, int> map_; map_[1] = 2; map_[2] = 3; map_[3] = 4; for( std::map<int, int>::iterator iter …
158 c++  dictionary  stl  standards 

2
İterator-> second ne anlama geliyor?
C ++ 'da a türü std::map<>::iteratornedir? Biz bir nesne biliyoruz itÇeşidi std::map<A,B>::iteratoraşırı yüklenmiş olan operator ->bir döndüren std::pair<A,B>*ve bu std::pair<>bir sahiptir firstve secondüyesi. Ancak, bu iki üye neye karşılık gelir ve neden haritada saklanan değere erişmek zorundayız it->second?
157 c++  stl  iterator 

7
bir vektörü diğerine kopyalamanın hızlı yolu
İki yolu tercih ederim: void copyVecFast(const vec<int>& original) { vector<int> newVec; newVec.reserve(original.size()); copy(original.begin(),original.end(),back_inserter(newVec)); } void copyVecFast(vec<int>& original) { vector<int> newVec; newVec.swap(original); } Bunu nasıl yapıyorsun?
155 c++  algorithm  stl 





Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.