Запитання з тегом «vector»

Вектор - це одновимірний масив: він містить компоненти, до яких можна отримати доступ, використовуючи інтегральний індекс. У деяких мовах розмір вектора може зростати або зменшуватися, якщо це потрібно для додавання та видалення елементів після створення Vector. Використовуйте "векторну графіку" для графічного відображення.

2
Витягніть стовпець з таблиці даних. Як вектор за позицією
Як витягти стовпець з data.table як вектор за його положенням? Нижче наведено кілька фрагментів коду, які я спробував: DT<-data.table(x=c(1,2),y=c(3,4),z=c(5,6)) DT # x y z #1: 1 3 5 #2: 2 4 6 Я хочу отримати цей результат, використовуючи позицію стовпця DT$y #[1] 3 4 is.vector(DT$y) #[1] TRUE Інший спосіб отримати …

5
Вектор ініціалізації структур
Я хочу знати, як я можу додати значення до мого вектора структур за допомогою push_backметоду struct subject { string name; int marks; int credits; }; vector<subject> sub; Тож як тепер я можу до нього додавати елементи? У мене є функція, яка ініціалізує ім'я рядка (ім'я теми до нього) void setName(string …
76 c++  vector  struct  push-back 

4
Як читати двійковий файл у вектор без підписаних символів
Нещодавно мене попросили написати функцію, яка зчитує двійковий файл у std::vector<BYTE>де BYTEє unsigned char. Досить швидко я прийшов з приблизно таким: #include <fstream> #include <vector> typedef unsigned char BYTE; std::vector<BYTE> readFile(const char* filename) { // open the file: std::streampos fileSize; std::ifstream file(filename, std::ios::binary); // get its size: file.seekg(0, std::ios::end); fileSize …


3
Використання std :: max_element на векторі <double>
Я намагаюся використовувати std::min_elementі std::max_elementповернути елементи min і max у векторі подвійних. Моєму компілятору не подобається, як я зараз намагаюся їх використовувати, і я не розумію повідомлення про помилку. Звичайно, я міг би написати власну процедуру, щоб знайти мінімум / максимум, але я хотів би зрозуміти, як використовувати функції. #include …
75 c++  vector  max  min 

10
Використання std :: vector для перегляду на необроблену пам'ять
Я використовую зовнішню бібліотеку, яка в якийсь момент дає мені необроблений покажчик на масив цілих чисел та розмірів. Тепер я хотів би використати std::vectorдля доступу та зміни цих значень на місці, а не для доступу до них із необробленими покажчиками. Ось мистецький приклад, який пояснює суть: size_t size = 0; …
71 c++  c++11  vector  stdvector 

2
Як ініціалізувати C ++ 17 векторних пар з додатковим елементом
Як в C ++ 17 як оголосити і ініціалізувати вектор пар (або кортежів) з необов'язковим елементом? std::vector&lt;std::pair&lt;int, optional&lt;bool&gt; &gt; &gt; vec1 = { {1, true}, {2, false}, {3, nullptr}}; У мене є пара, де другий елемент може бути нульовим / необов’язковим.

2
Дивна поведінка з полями класів при додаванні до std :: vector
Я знайшов дуже дивну поведінку (на кланг та GCC) у наступній ситуації. У мене вектор, nodesз одним елементом, екземпляр класу Node. Потім я викликаю функцію, nodes[0]яка додає нове Nodeу вектор. Коли додається новий Вузол, поля виклику об'єкта скидаються! Однак вони, здається, знову повертаються до норми, коли функція закінчена. Я вважаю, …

6
Чи безпечно поміняти два різні вектори на C ++, використовуючи метод swap std :: vector ::?
Припустимо, у вас є такий код: #include &lt;iostream&gt; #include &lt;string&gt; #include &lt;vector&gt; int main() { std::vector&lt;std::string&gt; First{"example", "second" , "C++" , "Hello world" }; std::vector&lt;std::string&gt; Second{"Hello"}; First.swap(Second); for(auto a : Second) std::cout &lt;&lt; a &lt;&lt; "\n"; return 0; } Уявіть, що вектором це ще немає std::string, але класи: std::vector&lt;Widget&gt; WidgetVector; …
30 c++  c++11  vector  stdvector  swap 

3
Сортування вектора у порядку зменшення у межах двох діапазонів
Скажіть, у мене є вектор цілих чисел: std::vector&lt;int&gt; indices; for (int i=0; i&lt;15; i++) indices.push_back(i); Потім я сортую це у порядку зменшення: sort(indices.begin(), indices.end(), [](int first, int second) -&gt; bool{return indices[first] &gt; indices[second];}) for (int i=0; i&lt;15; i++) printf("%i\n", indices[i]); Це призводить до наступного: 14 13 12 11 10 9 …

2
Як вектор як ключ працює внутрішньо в C ++?
Ця відповідь відповідає, що STL-карта з вектором для ключа вектор може використовуватися як ключ. Отже, коли ми використовуємо вектор як ключ. Як це насправді працює, оскільки ключ повинен бути унікальним, тому коли ми вставляємо інший вектор з тими ж елементами, буде mapперевірка на повторність елемента за елементом чи ім'я вектора …
14 c++  arrays  dictionary  vector  stl 

1
Чи можу я перерахувати-ініціалізувати std :: vector із ідеальним пересиланням елементів?
Я помітив, що ініталізація сукупного списку std :: vector виконує ініціалізацію копіювання, коли переміщення є більш застосовною. У той же час кілька emplace_backs роблять те, що я хочу. Я міг тільки придумати це недосконале рішення написання функції шаблону init_emplace_vector. Однак це оптимально лише для не явних однозначних конструкторів. template &lt;typename …


2
Ініціалізація вектора атомів
Поміркуйте: void foo() { std::vector&lt;std::atomic&lt;int&gt;&gt; foo(10); ... } Чи вміст foo зараз дійсний? Або мені потрібно явно прокрутити і ініціалізувати їх? Я перевірив Godbolt, і це здається прекрасним, проте стандарт здається дуже заплутаним у цьому питанні. Конструктор std :: vector говорить, що він вставляє вставлені за замовчуванням екземпляри std::atomic&lt;int&gt;, які …
12 c++  vector  atomic 

3
Різниця між std :: resize (n) та std :: shrink_to_fit у C ++?
Я натрапив на ці твердження: resize(n)- Змінює розмір контейнера так, щоб він містив 'n' елементів. shrink_to_fit()- Зменшує ємність контейнера, щоб відповідати його розмірам, і знищує всі елементи понад ємності. Чи є значна різниця між цими функціями? вони потрапляють під вектори в c ++

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.