Pytania otagowane jako stdvector

Typ sekwencji zdefiniowany jako część biblioteki standardowej.

2
Dziwne zachowanie z polami klasy podczas dodawania do std :: vector
Znalazłem bardzo dziwne zachowanie (na clang i GCC) w następującej sytuacji. Mam wektor, nodesz jednym elementem, instancją klasy Node. Następnie wywołuję funkcję, nodes[0]która dodaje nową wartość Nodedo wektora. Po dodaniu nowego węzła pola obiektu wywołującego są resetowane! Wydają się jednak wracać do normy po zakończeniu funkcji. Uważam, że jest to …

6
Czy bezpiecznie jest zamienić dwa różne wektory w C ++, używając metody std :: vector :: swap?
Załóżmy, że masz następujący kod: #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; } Wyobraź sobie, że wektor nie jest std::stringjeszcze klasą: std::vector<Widget> WidgetVector; std::vector<Widget2> Widget2Vector; …
30 c++  c++11  vector  stdvector  swap 

3
Sortowanie wektora w porządku malejącym w dwóch zakresach
Powiedzmy, że mam wektor liczb całkowitych: std::vector<int> indices; for (int i=0; i<15; i++) indices.push_back(i); Następnie sortuję je w kolejności malejącej: 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]); To powoduje: 14 13 12 11 10 9 8 7 6 5 …

1
Nowoczesne podejście do przydzielania wyrównanej pamięci std :: vector
Następujące pytanie związane jest jednak odpowiedzi są stare, i komentarz od użytkownika Marc Glisse sugeruje nowych podejść od C ++ 17 do tego problemu, które nie mogą być należycie rozpatrzone. Próbuję uzyskać wyrównaną pamięć działającą poprawnie dla SIMD, wciąż mając dostęp do wszystkich danych. W przypadku Intela, jeśli utworzę wektor …
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.