«stdvector» etiketlenmiş sorular

Standart Kitaplığın parçası olarak tanımlanan bir dizi türü.

2
Bir std :: vector eklerken sınıf alanlarıyla garip davranış
Aşağıdaki durumda bazı garip davranışlar (clang ve GCC) buldum. nodesBir elemanım, bir sınıf örneği olan bir vektörüm var Node. Daha sonra vektöre nodes[0]yeni eklenen bir fonksiyon çağırıyorum Node. Yeni Düğüm eklendiğinde, çağıran nesnenin alanları sıfırlanır! Bununla birlikte, işlev bittiğinde tekrar normale dönüyor gibi görünüyorlar. Bunun minimal tekrarlanabilir bir örnek olduğuna …

6
Std :: vector :: swap yöntemini kullanarak iki farklı vektörü C ++ 'da değiştirmek güvenli midir?
Aşağıdaki koda sahip olduğunuzu varsayalım: #include <iostream> #include <string> #include <vector> int main() { std::vector<std::string> First{"example", "second" , "C++" , "Hello world" }; std::vector<std::string> Second{"Hello"}; First.swap(Second); for(auto a : Second) std::cout << a << "\n"; return 0; } Vektörün std::stringhenüz sınıf olmadığını hayal edin : std::vector<Widget> WidgetVector; std::vector<Widget2> Widget2Vector; İki …
30 c++  c++11  vector  stdvector  swap 

3
Bir vektörü iki aralık içinde azalan sırada sıralama
Diyelim ki bir tamsayı vektörüm var: std::vector<int> indices; for (int i=0; i<15; i++) indices.push_back(i); Sonra azalan sırada sıralıyorum: sort(indices.begin(), indices.end(), [](int first, int second) -> bool{return indices[first] > indices[second];}) for (int i=0; i<15; i++) printf("%i\n", indices[i]); Bu aşağıdakileri üretir: 14 13 12 11 10 9 8 7 6 5 4 …

1
Std yapmak için modern yaklaşım :: vektör hizalanmış bellek ayırmak
Aşağıdaki soru cevaplar eski ancak, ilgili ve kullanıcı gelen açıklama edilir Marc Glisse yeterince ele olabilir bu soruna 17 C ++ yana yeni yaklaşımlar olduğunu öne sürüldü. Hala tüm verilere erişirken, SIMD için düzgün çalışan hizalanmış bellek almaya çalışıyorum. Intel'de, kayan bir tür vektörü oluşturur ve boyutumu __m2568 kat azaltırsam, …
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.