Запитання з тегом «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 :: вектор копіює об'єкти push_back?
Після багатьох досліджень з valgrind, я зробив висновок, що std :: vector робить копію об'єкта, який ви хочете push_back. Це справді правда? Вектор не може зберігати посилання чи покажчик об’єкта без копії ?! Дякую
169 c++  stl  stdvector 

9
C ++ valarray проти вектора
Мені дуже подобаються вектори. Вони витончені і швидкі. Але я знаю, що ця річ під назвою валярій існує. Чому я використовую валярій замість вектора? Я знаю, що у валярій є синтаксичний цукор, але крім них, коли вони корисні?


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?
Я шукаю загальний, багаторазовий спосіб перетасувати a 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 / [] оператор швидкість або :: std :: vector :: at () vs operator [] << дивовижні результати !! У 5-10 разів повільніше / швидше! . Я просто не …
95 c++  stl  stdvector 

4
Java у 8 разів швидше з масивами, ніж std :: vector в C ++. Що я зробив неправильно?
У мене є такий код Java з декількома великими масивами, які ніколи не змінюють свій розмір. Це працює на моєму комп’ютері за 1100 мс. Я реалізував той самий код в C ++ і використовував std::vector. Час реалізації С ++, який запускає точно такий самий код, становить 8800 мс на моєму …

2
std :: dynarray проти std :: vector
C ++ 14 представляє std::dynarray: std :: dynarray - це контейнер послідовностей, який інкапсулює масиви розміром, який фіксується при побудові і не змінюється протягом усього життя об’єкта. std::dynarrayповинні бути розподілені під час виконання так само, як std::vector. То які переваги та використання того часу, std::dynarrayколи ми можемо користуватися, std::vectorє більш …
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 :: вектора під час компіляції?
У мене є функція, яка займає багатовимірність 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.