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

Вектор - это одномерный массив: он содержит компоненты, доступ к которым можно получить с помощью интегрального индекса. В некоторых языках размер вектора может увеличиваться или уменьшаться по мере необходимости, чтобы приспособить добавление и удаление элементов после того, как вектор был создан. Используйте «векторную графику» для графического отображения.

2
Странное поведение с полями классов при добавлении в std :: vector
Я обнаружил очень странное поведение (на Clang и GCC) в следующей ситуации. У меня есть вектор, nodesс одним элементом, экземпляр класса Node. Затем я вызываю функцию, nodes[0]которая добавляет новый Nodeвектор. При добавлении нового узла поля вызывающего объекта сбрасываются! Однако они, похоже, снова возвращаются в нормальное состояние после завершения функции. Я …

6
Безопасно ли поменять местами два разных вектора в C ++, используя метод std :: vector :: swap?
Предположим, что у вас есть следующий код: #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; } Представьте, что вектора нет std::string, но классы: std::vector<Widget> WidgetVector; std::vector<Widget2> …
30 c++  c++11  vector  stdvector  swap 

3
Сортировка вектора по убыванию в двух диапазонах
Скажем, у меня есть вектор целых чисел: std::vector<int> indices; for (int i=0; i<15; i++) indices.push_back(i); Затем я сортирую это в порядке убывания: 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]); Это производит следующее: 14 13 12 11 10 9 8 …

2
Как вектор как ключ работает внутри C ++?
Этот SO-ответ говорит, что STL Map с вектором для ключа вектора может использоваться в качестве ключа. Поэтому, когда мы используем вектор в качестве ключа. Как это на самом деле работает, так как ключ должен быть уникальным, поэтому, когда мы вставляем другой вектор с такими же элементами, mapпроверка на дублирующийся элемент …
14 c++  arrays  dictionary  vector  stl 

1
Можно ли инициализировать список std :: vector с идеальной пересылкой элементов?
Я заметил , что совокупный список инициализационных ЗПП :: вектор выполняет копирование инициализации , когда движение более применимо. В то же время, несколько emplace_backs делают то, что я хочу. Я мог только придумать это несовершенное решение написания шаблонной функции init_emplace_vector. Впрочем, это оптимально только для неявных однозначных конструкторов. template <typename …


2
Инициализация вектора атомности
Рассматривать: void foo() { std::vector<std::atomic<int>> foo(10); ... } Содержимое foo теперь действительно? Или мне нужно явно выполнить цикл и инициализировать их? Я проверил на Godbolt, и, кажется, все в порядке, однако стандарт кажется очень запутанным в этом вопросе. Конструктор std :: vector говорит, что он вставляет вставленные по умолчанию экземпляры …
12 c++  vector  atomic 

3
Разница между std :: resize (n) и std :: shrink_to_fit в C ++?
Я сталкивался с этими утверждениями: resize(n)- Изменяет размер контейнера так, чтобы он содержал «n» элементов. shrink_to_fit()- Уменьшает емкость контейнера до его размера и уничтожает все элементы, превышающие емкость. Есть ли существенная разница между этими функциями? они попадают под векторы в C ++

7
Стирание () элемента в векторе не работает
У меня есть вектор. Мне нужно удалить последние 3 элемента в нем. Описал эту логику. Программа вылетает. В чем может быть ошибка? vector<float>::iterator d = X.end(); for (size_t i = 1; i < 3; i++) { if (i == 1) X.erase(d); else X.erase(d - i); }
10 c++  vector 

2
Как преобразовать числовые массивы в вектор <int> & (ссылка) с помощью SWIG
Моя цель: Создайте 3 пустых массива в python (2 из них будут инициализированы с конкретными значениями), затем отправьте все три из них через swig в функцию c ++ в виде векторных ссылок (это делается для того, чтобы избежать копирования данных и потери эффективности). Оказавшись в функции c ++, добавьте 2 …
10 python  c++  numpy  vector  swig 
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.