vector- все статьи тега ➜ страница 2
Когда я должен выбрать вектор в Scala?
кажется,Vector опоздал на вечеринку Scala collections, и все влиятельные сообщения в блоге уже ушли. В Java ArrayList коллекция по умолчанию - я мог бы использовать LinkedList но только когда я продумывал алгоритм и оптимизировать. В Scala я должен использовать Vector как по умолчанию Seq, или пытается работать, когда List на самом деле более уместно? ...
Ты не должен наследовать от std:: vector
хорошо, это действительно трудно признаться, но у меня есть сильное искушение в данный момент, чтобы унаследовать от std::vector. мне нужно около 10 настраиваемых алгоритмов для вектора, и я хочу, чтобы они были непосредственно членами вектора. Но, естественно, я хочу также иметь остальную часть 'ы. Ну, моя первая идея, как законопослушного гражданина, состояла в том, чтобы иметь std::vector член MyVector класса. Но тогда мне пришлось бы вручную перепрофилировать весь интерфейс std::vector. То ...
Когда векторы выделяются, они используют память в куче или стеке?
все ли следующие утверждения верны? vector<Type> vect; //allocates vect on stack and each of the Type (using std::allocator) also will be on the stack vector<Type> *vect = new vector<Type>; //allocates vect on heap and each of the Type will be allocated on stack vector<Type*> vect; //vect will be on stack and Type* will be on heap. как память выделяется внутренне для Type на vector или любой другой контейнер STL? ...
Почему вектор C++ называется вектором?
вопрос довольно очевидно на самом деле. Я смутно знаю о векторах в математике, но я действительно не вижу связи с векторами C++. ...
умножение вектора матрицы numpy [дубликат]
этот вопрос уже есть ответ здесь: как отличается умножение для классов numpy Matrix vs Array? 7 ответов когда я умножаю два массива numpy размеров(n x n)*(n x 1), я получаю матрицу размера (n x n). Следуя обычным правилам умножения матриц, ожидается вектор (n x 1), но я просто не могу найти его информация о том, как это делается в модуле numpy Python. дело в том, что я не хочу реализовывать его вручную, ...
Пример использования общего ptr?
Привет я задал вопрос сегодня о как вставить различные типы объектов в один и тот же векторный массив и мой код в этот вопрос gate* G[1000]; G[0] = new ANDgate() ; G[1] = new ORgate; //gate is a class inherited by ANDgate and ORgate classes class gate { ..... ...... virtual void Run() { //A virtual function } }; class ANDgate :public gate {..... ....... void Run() { //AND version of Run } }; class ORgate :public gate {..... ....... void Run() { ...
Почему я не могу создать вектор лямбд (того же типа) в C++11?
Я пытался создать вектор лямбда, но не удалось: auto ignore = [&]() { return 10; }; //1 std::vector<decltype(ignore)> v; //2 v.push_back([&]() { return 100; }); //3 до строки #2, это компилирует штрафа в размере. Но строка#3 дает ошибка компиляции: ошибка: нет подходящей функции для вызова 'СТД::вектор>::push_back(основной()::)' мне не нужен вектор указателей функций или вектор объектов функций. Однако вектор объектов функций, которые инкапсулируют реальные лямбда ...
Преобразование вектора в строку
у меня есть vector<int> контейнер, который имеет целых числа (например, {1,2,3,4}) и я хотел бы преобразовать в строку вида "1,2,3,4" что такое чистый способ сделать это в C++? В Python вот как я бы это сделал: >>> array = [1,2,3,4] >>> ",".join(map(str,array)) '1,2,3,4' ...
Какова идеальная скорость роста для динамически выделенного массива?
C++ имеет std:: vector и Java имеет ArrayList, и многие другие языки имеют свою собственную форму динамически выделенного массива. Когда динамический массив исчерпывает пространство, он перераспределяется в большую область, и старые значения копируются в новый массив. Главный вопрос, связанный с производительностью такого массива, заключается в том, как быстро массив растет в размере. Если вы всегда будете расти достаточно большими, чтобы соответствовать текущему толчку, вы будете в конечном ито ...
C++ преобразование вектора в вектор
Что такое хороший чистый способ преобразования std::vector<int> intVec до std::vector<double> doubleVec. Или, в более общем плане, преобразовать два вектора конвертируемых типов? ...
Почему мой вектор не рисуется масштабирование, как ожидалось?
Я пытаюсь использовать векторные чертежи в моем приложении для Android. От http://developer.android.com/training/material/drawables.html (Курсив мой): В Android 5.0 (уровень API 21) и выше, вы можете определить векторные чертежи, масштаб без потери четкости. С помощью этого drawable: <vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" android:width="24dp" android:viewportWidth="24" android:viewportHeight="24"> <path android:fillColor="@color/ ...
Начальная емкость вектора в C++
что такое capacity() на std::vector который создается с помощью конструктора по умолчанию? Я знаю, что size() - это ноль. Можно ли утверждать, что построенный по умолчанию вектор не вызывает выделение памяти кучи? таким образом, можно было бы создать массив с произвольным резервом, используя одно выделение, например std::vector<int> iv; iv.reserve(2345);. Допустим, что по какой-то причине я не хочу начинать size() на 2345. например, в Linux (g++ 4.4.5, ядро 2.6.32 amd64) #include <io ...
Октава / Matlab: добавление новых элементов в вектор
имея вектор x и я должен добавить элемент (newElem). есть ли разница между - x(end+1) = newElem; и x = [x newElem]; ? ...
Инициализация двумерного std:: vector
Итак, у меня есть следующие: std::vector< std::vector <int> > fog; и я инициализирую его очень наивно, как: for(int i=0; i<A_NUMBER; i++) { std::vector <int> fogRow; for(int j=0; j<OTHER_NUMBER; j++) { fogRow.push_back( 0 ); } fog.push_back(fogRow); } и это кажется очень неправильным... Есть ли другой способ инициализации вектора, как это? ...
Вектор инициализации структур
Я хочу знать, как я могу добавить значения в вектор структур с помощью push_back метод struct subject { string name; int marks; int credits; }; vector<subject> sub; Итак, как я могу добавить элементы к нему? у меня есть функция, которая инициализирует имя строки(имя его) void setName(string s1, string s2, ...... string s6) { // how can i set name too sub[0].name= "english", sub[1].name = "math" etc sub[0].name = s1 // gives segmentation fault; so how do I use push_back m ...
Что быстрее, повторяя вектор STL с помощью vector:: iterator или с помощью at()?
С точки зрения производительности, что будет работать быстрее? Есть ли разница? Это зависит от платформы? //1. Using vector<string>::iterator: vector<string> vs = GetVector(); for(vector<string>::iterator it = vs.begin(); it != vs.end(); ++it) { *it = "Am I faster?"; } //2. Using size_t index: for(size_t i = 0; i < vs.size(); ++i) { //One option: vs.at(i) = "Am I faster?"; //Another option: vs[i] = "Am I faster?"; } ...
Удалить все элементы из C++ std:: vector
Я пытаюсь удалить все от std::vector С помощью следующего кода vector.erase( vector.begin(), vector.end() ); но это не работает. Update: разве clear не уничтожает элементы, удерживаемые вектором? Я не хочу этого, так как я все еще использую объекты, я просто хочу очистить контейнер ...
Почему не установить обратно() использовать равномерное инициализации?
следующий код: #include <vector> struct S { int x, y; }; int main() { std::vector<S> v; v.emplace_back(0, 0); } дает следующие ошибки при компиляции с GCC: In file included from c++/4.7.0/i686-pc-linux-gnu/bits/c++allocator.h:34:0, from c++/4.7.0/bits/allocator.h:48, from c++/4.7.0/vector:62, from test.cpp:1: c++/4.7.0/ext/new_allocator.h: In instantiation of 'void __gnu_cxx::new_allocator<_Tp>::construct(_Up* ...