Вопросы с тегом «stdvector»

Тип последовательности, определенный как часть стандартной библиотеки.


18
Как распечатать содержимое вектора?
Я хочу распечатать содержимое вектора в C ++, вот что у меня есть: #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) { vector<char> vec(istreambuf_iterator<char>(file), (istreambuf_iterator<char>())); vector<char> path; int x = 17; char entrance = …
282 c++  vector  output  stdvector  cout 


8
Является ли std :: vector копированием объектов с помощью push_back?
После многих исследований с использованием valgrind я пришел к выводу, что std :: vector делает копию объекта, который вы хотите push_back. Это действительно так ? Вектор не может хранить ссылку или указатель на объект без копии ?! Спасибо
169 c++  stl  stdvector 

9
C ++ valarray против вектора
Я очень люблю векторы. Они изящны и быстры. Но я знаю, что существует то, что называется valarray. Зачем мне использовать valarray вместо вектора? Я знаю, что у valarrays есть некоторый синтаксический сахар, но кроме этого, когда они полезны?

6
C ++, скопировать в вектор
Мне нужно скопировать std::setв 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 В чем проблема?
146 c++  copy  stdvector  stdset 

7
Как отсортировать вектор пар на основе второго элемента пары?
Если у меня есть вектор пар: std::vector<std::pair<int, int> > vec; Есть ли простой способ отсортировать список в порядке возрастания на основе второго элемента пары? Я знаю, что могу написать небольшой функциональный объект, который будет выполнять эту работу, но есть ли способ использовать существующие части STL и std::lessвыполнять работу напрямую? EDIT: …
133 c++  stl  stdvector 

8
Эффективный способ вернуть std :: vector в c ++
Сколько данных копируется при возврате std :: vector в функцию и насколько велика будет оптимизация, чтобы разместить std :: vector в свободном хранилище (в куче) и вместо этого вернуть указатель, то есть: std::vector *f() { std::vector *result = new std::vector(); /* Insert elements into result */ return result; } более …

6
Как перетасовать std :: vector?
Я ищу универсальный способ многоразового перетасовки std::vectorв C ++. Вот как я сейчас это делаю, но я думаю, что это не очень эффективно, потому что ему нужен промежуточный массив, и он должен знать тип элемента (DeckCard в этом примере): srand(time(NULL)); cards_.clear(); while (temp.size() > 0) { int idx = rand() …
97 c++  shuffle  stdvector 

8
vector :: at vs. vector :: operator []
Я знаю, что at()это медленнее, чем []из-за проверки границ, которая также обсуждается в подобных вопросах, таких как C ++ Vector at / [] operator speed или :: std :: vector :: at () vs operator [] << удивительные результаты !! В 5-10 раз медленнее / быстрее! . Я просто не …
95 c++  stl  stdvector 

4
Java в 8 раз быстрее работает с массивами, чем std :: vector в C ++. Что я сделал не так?
У меня есть следующий код Java с несколькими большими массивами, которые никогда не меняют своего размера. На моем компьютере он работает за 1100 мс. Я реализовал тот же код на C ++ и использовал std::vector. Время реализации C ++, которая запускает тот же самый код, составляет 8800 мс на моем …

2
std :: dynarray против std :: vector
C ++ 14 представляет std::dynarray: std :: dynarray - это контейнер последовательности, который инкапсулирует массивы с размером, который фиксируется при построении и не изменяется на протяжении всего времени существования объекта. std::dynarrayдолжен быть выделен во время выполнения так же, как std::vector. Итак, каковы преимущества и возможности использования, в std::dynarrayто время как …
84 c++  stdvector 

10
Использование std :: vector для просмотра сырой памяти
Я использую внешнюю библиотеку, которая в какой-то момент дает мне необработанный указатель на массив целых чисел и размер. Теперь я хотел бы использовать std::vectorдля доступа и изменения этих значений на месте, а не доступ к ним с помощью необработанных указателей. Вот примерный пример, который объясняет суть: size_t size = 0; …
71 c++  c++11  vector  stdvector 

3
std :: vector (ab) использует автоматическое хранение
Рассмотрим следующий фрагмент: #include <array> int main() { using huge_type = std::array<char, 20*1024*1024>; huge_type t; } Очевидно, что это приведет к сбою на большинстве платформ, поскольку размер стека по умолчанию обычно составляет менее 20 МБ. Теперь рассмотрим следующий код: #include <array> #include <vector> int main() { using huge_type = std::array<char, …

3
Как я могу получить глубину многомерного std :: vector во время компиляции?
У меня есть функция, которая принимает многомерный std::vectorи требует, чтобы глубина (или количество измерений) передавалась как параметр шаблона. Вместо жесткого кодирования этого значения я хотел бы написать constexprфункцию, которая будет принимать std::vectorи возвращать глубину как unsigned integerзначение. Например: std::vector<std::vector<std::vector<int>>> v = { { { 0, 1}, { 2, 3 } …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.