Jak połączyć dwa
Typ sekwencji zdefiniowany jako część biblioteki standardowej.
Jak połączyć dwa
Chcę wydrukować zawartość wektora w C ++, oto co mam: #include <iostream> #include <fstream> #include <string> #include <cmath> #include <vector> #include <sstream> #include <cstdio> using namespace std; int main() { ifstream file("maze.txt"); if (file)...
Jaki jest najszybszy sposób na zresetowanie każdej wartości od a std::vector<int>do 0 i utrzymanie początkowego rozmiaru wektorów? Pętla for z operatorem []?
Po wielu badaniach z valgrind doszedłem do wniosku, że std :: vector tworzy kopię obiektu, który chcesz push_back. Czy to prawda? Wektor nie może zachować odniesienia lub wskaźnika do obiektu bez
Bardzo lubię wektory. Są sprytne i szybkie. Ale wiem, że istnieje coś takiego jak valarray. Dlaczego miałbym używać valarray zamiast wektora? Wiem, że valarrays mają trochę cukru syntaktycznego, ale poza tym, kiedy są
Muszę skopiować std::setdo std::vector: std::set <double> input; input.insert(5); input.insert(6); std::vector <double> output; std::copy(input.begin(), input.end(), output.begin()); //Error: Vector iterator not dereferencable Gdzie jest
Jeśli mam wektor par: std::vector<std::pair<int, int> > vec; Czy istnieje łatwy sposób sortowania listy w kolejności rosnącej na podstawie drugiego elementu pary? Wiem, że mogę napisać mały obiekt funkcyjny, który wykona pracę, ale czy istnieje sposób na użycie istniejących części...
Ile danych jest kopiowanych, podczas zwracania std :: vector w funkcji i jak duża będzie optymalizacja, aby umieścić std :: vector w wolnym magazynie (na stercie) i zamiast tego zwrócić wskaźnik, tj. Jest: std::vector *f() { std::vector *result = new std::vector(); /* Insert elements into...
Szukam ogólnego, wielokrotnego użytku sposobu na przetasowanie std::vectorw C ++. Tak to teraz robię, ale myślę, że nie jest to zbyt wydajne, ponieważ wymaga tablicy pośredniej i musi znać typ elementu (w tym przykładzie DeckCard): srand(time(NULL)); cards_.clear(); while (temp.size() > 0)...
Wiem, że at()jest to wolniejsze niż []ze względu na sprawdzanie granic, które jest również omawiane w podobnych pytaniach, takich jak C ++ Vector at / [] operator speed lub :: std :: vector :: at () vs operator [] << zaskakujące wyniki !! 5 do 10 razy wolniej / szybciej! . Po prostu nie...
Mam następujący kod Java z kilkoma dużymi tablicami, które nigdy nie zmieniają swojego rozmiaru. Na moim komputerze działa w 1100 ms. Zaimplementowałem ten sam kod w C ++ i użyłem std::vector. Czas implementacji C ++, który uruchamia dokładnie ten sam kod, to 8800 ms na moim komputerze. Co...
C ++ 14 przedstawia std::dynarray: std :: dynarray to kontener sekwencji, który hermetyzuje tablice o rozmiarze, który jest ustalony w konstrukcji i nie zmienia się przez cały okres istnienia obiektu. std::dynarraymuszą być przydzielane w czasie wykonywania tak samo jak std::vector. Więc...
Korzystam z zewnętrznej biblioteki, która w pewnym momencie daje mi surowy wskaźnik do tablicy liczb całkowitych i rozmiaru. Teraz chciałbym użyć, std::vectoraby uzyskać dostęp i zmodyfikować te wartości w miejscu, zamiast uzyskiwać do nich dostęp za pomocą surowych wskaźników. Oto sztuczny...
Rozważ następujący fragment kodu: #include <array> int main() { using huge_type = std::array<char, 20*1024*1024>; huge_type t; } Oczywiście ulegnie awarii na większości platform, ponieważ domyślny rozmiar stosu jest zwykle mniejszy niż 20 MB. Teraz rozważ następujący kod: #include...
Mam funkcję, która przyjmuje wielowymiarowość std::vectori wymaga podania głębokości (lub liczby wymiarów) jako parametru szablonu. Zamiast na stałe wpisywać tę wartość, chciałbym napisać constexprfunkcję, która pobierze std::vectori zwróci głębokość jako unsigned integerwartość. Na...
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...
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 :...
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...
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...