Лучшие stl вопросы ИТ разработчиков

  • 20 голосов
  • 7 ответов
  • 0 просмотров
7 ответов

Производительность pIter! = Cont.end () в цикле for

Я переживалИсключительный C ++ » Хербом Саттером в последнее время, и у меня есть серьезные сомнения относительно конкретной рекомендации, которую он дает в ...

Задан 15 Mar 2013, 12:10 от Mikhail
  • 13 голосов
  • 3 ответа
  • 0 просмотров
3 ответа

Я подозреваю, что происходит то, что компилятор использует NRVO, чтобы поместить вашу временную строку в ее реальное место возврата. Эта возвращаемая строка затем сохраняется внутри объекта, который выделен и вытек из кучи.

нь волнуюсь, потому что я написал небольшое приложение, и кажется, что есть утечка памяти, если я верю valgrind (что я на самом деле делаю): ==9321== 251 bytes in 7 blocks are definitely lost in loss record 1 of 1 ==9321== at 0x402569A: operator ...

Задан 02 Sep 2011, 13:45 от morandg
  • 79 голосов
  • 2 ответа
  • 0 просмотров
2 ответа

Почему std :: stack использует std :: deque по умолчанию?

Поскольку единственными операциями, необходимыми для контейнера, который будет использоваться в стеке, являются: back() push_back() pop_back() Почему кон...

Задан 12 Feb 2015, 17:34 от PeiGreg Rogers
  • 64 голосов
  • 3 ответа
  • 0 просмотров
3 ответа

Как избежать утечек памяти при использовании вектора указателей для динамически размещаемых объектов в C ++?

Я использую вектор указателей на объекты. Эти объекты являются производными от базового класса и динамически распределяются и сохраняются. Например, у меня есть что-то вроде: vector<Enemy*> Enemies;и я буду наследовать от класса Enemy, а затем ...

Задан 01 Sep 2009, 07:58 от akif
  • 10 голосов
  • 2 ответа
  • 0 просмотров
2 ответа

Почему я не могу заменить std :: map на std :: unordered_map

Этот вопрос может быть немного схематичным, потому что у меня нет кода, доступного дома, но я знаю, что в противном случае это будет беспокоить меня весь уик-энд. Когда я попытался обновить код до C ++ 11, я начал заменять некоторыеstd::map ...

Задан 09 Dec 2011, 22:35 от LiKao
  • 11 голосов
  • 3 ответа
  • 0 просмотров
3 ответа

) функция? В любом случае, это не имеет никакого смысла в контексте того, что такое итератор.

я есть последовательность значений, которые я хотел бы передать в функцию, которая принимает(iterator begin, iterator end) пара. Однако я хочу, чтобы обрабатывался только каждый второй элемент в исходной последовательности. Есть ли хороший ...

Задан 16 Apr 2011, 10:48 от ltjax
  • 9 голосов
  • 1 ответ
  • 0 просмотров
1 ответ

Хранить будущее в списке

Я хочу сохранить в списке фьючерсы нескольких потоков, порожденных с помощью async, чтобы получить их результаты позже. future<int> f = async(doLater, parameter); list<future<int>> l; l.push_back(f); Однако компилятор печатает следующее ...

Задан 21 Nov 2013, 16:29 от Manuel
  • 60 голосов
  • 15 ответов
  • 0 просмотров
15 ответов

попробуйте это, но используя вектор вместо списка

самый элегантный способ вставить вектор строк в строку. Ниже приведено решение, которое я использую сейчас: static std::string& implode(const std::vector<std::string>& elems, char delim, std::string& s) { for ...

Задан 16 Apr 2011, 19:29 от ezpresso
  • 11 голосов
  • 3 ответа
  • 0 просмотров
3 ответа

сортировка строкового вектора по размеру строки [duplicate]

На этот вопрос уже есть ответ здесь: вектор сортировки вектора строк в C ++ [/questions/7114442/sorting-vector-of-vector-of-strings-in-c] 4 ответаЯ хотел знать, как я могу отсортировать строковый вектор так, чтобы строка с наименьшим количеством ...

Задан 16 Sep 2013, 15:13 от MistyD
  • 25 голосов
  • 14 ответов
  • 0 просмотров
14 ответов

Как я могу обнаружить последнюю итерацию в цикле над std :: map?

Я пытаюсь выяснить лучший способ определить, нахожусь ли я в последней итерации цикла над картой, чтобы сделать что-то вроде следующего: for (iter = someMap.begin(); iter != someMap.end(); ++iter) { bool last_iteration; // do something for all ...

Задан 29 Sep 2008, 22:40 от cdleary
  • 29 голосов
  • 4 ответа
  • 0 просмотров
4 ответа

C ++ stl stringstream прямой доступ к буферу

это должно быть довольно распространенным, но я нахожу это восхитительным, потому что я не мог найти никакого прямого решения. В основном я читаю в файле по сети в поток строк. Это декларация: std::stringstream membuf(std::ios::in | ...

Задан 09 Dec 2009, 22:55 от Kugel
  • 5 голосов
  • 2 ответа
  • 0 просмотров
2 ответа

unique_ptr автозаполнение в затмении

Я играю с unique_ptr. В моемпоследний пост [https://stackoverflow.com/questions/9766568/unique-ptr-compile-error]люди помогли мне скомпилировать программу, которая использовала этот указатель, указав во время компиляции -std = c ++ 0x. Теперь мне ...

Задан 19 Mar 2012, 08:22 от rahman
  • 4 голосов
  • 1 ответ
  • 0 просмотров
1 ответ

Копирование распределителя с сохранением состояния: стандартная семантика распределителя библиотеки и внутренняя память

Я пишу коллекцию распределителей с намерением использовать их в средах с очень высокой производительностью, поэтому желательно ограниченное использование (оп...

Задан 23 Feb 2014, 22:45 от jared_schmitz
  • 35 голосов
  • 1 ответ
  • 0 просмотров
1 ответ

Как правильно использовать std :: reference_wrappers

Я пытаюсь понятьstd::reference_wrapper. Следующий код показывает, что ссылочная оболочка не ведет себя точно так же, как ссылка. #include <iostream> #include <vector> #include <functional> int main() { std::vector<int> numbers = {1, 3, 0, -8, ...

Задан 08 Aug 2013, 13:35 от Martin Drozdik
  • 0 голосов
  • 3 ответа
  • 0 просмотров
3 ответа

Как вывести std :: map в двоичный файл?

Как я могу вывестиstd::map в бинарный файл? Объявление карты выглядит следующим образом. map<string, Account *> accounts; ofstream os(outFileName.c_str()); os.write( ); Мне нужно знать, что положить вwrite() функция, чтобы это работало так, как ...

Задан 17 Oct 2012, 13:09 от Daniel Del Core
  • 147 голосов
  • 20 ответов
  • 0 просмотров
20 ответов

Преимущества цикла std :: for_each over for

Есть ли преимуществаstd::for_each [http://en.cppreference.com/w/cpp/algorithm/for_each]надfor цикл? Мне,std::for_each кажется, только мешает удобочитаемости кода. Почему тогда некоторые стандарты кодирования рекомендуют его использовать?

Задан 12 Jan 2010, 07:37 от missingfaktor
  • 6 голосов
  • 4 ответа
  • 0 просмотров
4 ответа

В Boost shared_ptr.h измените сигнатуру конструктора на:

оложим, у меня есть дванесвязанныйклассыA а такжеB, У меня тоже есть классBla который используетboost::shared_ptr нравится: class Bla { public: void foo(boost::shared_ptr<const A>); void foo(boost::shared_ptr<const B>); }Обратите внимание ...

Задан 12 Jun 2011, 14:04 от Alan Turing
  • 3 голосов
  • 5 ответов
  • 0 просмотров
5 ответов

Конструкторы значений карты STL

У меня есть класс X, который я хотел бы поместить в карту STL типа std :: map. Карта STL должна где-то хранить X в памяти, поэтому я ищу эффективный (время в...

Задан 22 Sep 2010, 16:27 от C Nielsen
  • 10 голосов
  • 3 ответа
  • 0 просмотров
3 ответа

C ++ std :: unordered_map сложность

Я много читал оunordered_map [http://www.cplusplus.com/reference/unordered_map/unordered_map/] (C ++ 11) время сложностьздесь, в stackoverflow, но я не нашел ответа на свой вопрос. Давайте предположим индексацию по целому числу (только для ...

Задан 26 Oct 2013, 18:40 от petrbel
  • 30 голосов
  • 2 ответа
  • 0 просмотров
2 ответа

использование соединения также не делает недействительными итераторы, в то время как это делает

я уже есть указатель списка CDrawObject * std::list<CDrawObject*> elements;Как я могу переместить какой-то элемент в конец списка. понятноСправочник по алгоритмам STL [http://www.cplusplus.com/reference/algorithm/]но я не нахожу эту операцию. ...

Задан 06 Feb 2011, 08:37 от G-71
  • 26 голосов
  • 1 ответ
  • 0 просмотров
1 ответ

Как эффективно сравнить две карты строк в C ++

Мне интересно, если только с помощью некоторых стандартных алгоритмов можно написать короткую функцию, которая сравнивает дваstd::map<string, string> и возвращает true, если все пары ключ-значение (но некоторые) верны. Например, эти две карты ...

Задан 12 Dec 2011, 10:39 от linello
  • 153 голосов
  • 8 ответов
  • 0 просмотров
8 ответов

максимальное значение int

Есть ли код, чтобы найти максимальное значение целого числа (в соответствии с компилятором) в C / C ++, какInteger.MaxValue функция в Java?

Задан 06 Dec 2009, 13:59 от d3vdpro
  • 20 голосов
  • 3 ответа
  • 0 просмотров
3 ответа

 создать последовательность пар ключ-значение.

ли итератор std, который я мог бы использовать для вставки элементов в std :: map, используя алгоритм std (например, std :: copy)?Мне нужен контейнер для свя...

Задан 07 Dec 2010, 09:36 от BЈовић
  • 8 голосов
  • 3 ответа
  • 0 просмотров
3 ответа

Как наборы, мультимножества, карты и мультикарты работают внутри

Как работают мультимножества? Если набор можету него есть значение, сопоставленное с ключом, оно содержит только ключи?Кроме того, как работают ассоциативные...

Задан 06 Aug 2009, 05:06 от faya
  • 6 голосов
  • 1 ответ
  • 0 просмотров
1 ответ

, "unary_op и binary_op не должны ... изменять какие-либо элементы задействованных диапазонов". Я думаю, что переход от входного диапазона будет считаться изменением элементов в нем.

ользую Boost.Filesystem для создания списка файлов в каталоге. я используюboost::filesystem::recursive_directory_iterator а такжеstd::copy поместить каждый путь в std :: vector какboost::filesystem::directory_entry объект. Я хочу вывести в файл ...

Задан 06 Jun 2011, 03:12 от mmoran
  • 10 голосов
  • 3 ответа
  • 0 просмотров
3 ответа

что такое auto_ptr_ref, чего он добивается и как он этого добивается

документация auto_ptr_refВот [http://www.cplusplus.com/reference/std/memory/auto_ptr_ref/]говорит это This is an instrumental class to allow certain conversions that allow auto_ptr objects to be passed to and returned from functions. Может ...

Задан 23 Jan 2010, 02:36 от Yogesh Arora
  • 2 голосов
  • 4 ответа
  • 0 просмотров
4 ответа

C ++ двоичный файл ввода / вывода в / из контейнеров (кроме char *) с использованием алгоритмов STL

m пытается выполнить простую проверку ввода / вывода двоичных файлов с использованием алгоритма копирования STL для копирования данных в / из контейнеров и д...

Задан 06 Dec 2009, 14:36 от Shamster
  • 0 голосов
  • 3 ответа
  • 0 просмотров
3 ответа

Какой контейнер (ы) STL / алгоритм (ы) я мог бы использовать для решения этой проблемы?

У меня есть проект MFC, который с учетом начального корневого пути просматривает каждый файл, папку и подпапку, а затем отображает каждый файл пользователю в...

Задан 11 Jun 2015, 06:49 от RectangleEquals
  • 39 голосов
  • 2 ответа
  • 0 просмотров
2 ответа

C ++ std :: vector emplace против вставки [дубликата]

На этот вопрос уже есть ответ здесь: push_back против emplace_back [/questions/4303513/push-back-vs-emplace-back] 6 ответовМне было интересно, в чем различия между ними. Я заметил, что emplace - это дополнение c ++ 11. Так почему же сложение?

Задан 09 Feb 2013, 12:42 от Aditya Sihag
  • 39 голосов
  • 1 ответ
  • 0 просмотров
1 ответ

Что стандартная библиотека гарантирует для самостоятельного перемещения?

Что стандарт C ++ 11 говорит о самостоятельном назначении перемещения по отношению к стандартной библиотеке? Чтобы быть более конкретным, что, если что-нибудь, гарантировано о чемselfAssign делает? template<class T> std::vector<T> ...

Задан 29 Oct 2012, 18:23 от Bjarke H. Roune
  • 29 голосов
  • 4 ответа
  • 0 просмотров
4 ответа

C ++ stl stringstream прямой доступ к буферу

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

Задан 09 Dec 2009, 21:55 от Kugel
  • 2 голосов
  • 4 ответа
  • 0 просмотров
4 ответа

автоматически преобразовывать список указателей в производный класс в список указателей на базовый класс

Допустим, у меня есть базовый и производный класс, а также функция, которая переносит вектор stl указателей на базовый класс:

Задан 12 Oct 2012, 21:15 от Ken
  • 4 голосов
  • 6 ответов
  • 0 просмотров
6 ответов

лучшая библиотека для векторного массива в C ++

Я должен сделать расчет на массиве из 1,2,3 ... 9 размерных векторов, и число этих векторов значительно варьируется (скажем, от 100 до нескольких миллионов)....

Задан 29 Sep 2009, 08:23 от dodol
  • 3 голосов
  • 4 ответа
  • 0 просмотров
4 ответа

Использование std :: bind2nd со ссылками

У меня есть простой класс, как это: class A { public: void f(const int& n) { std::cout<<"A::f()" << n <<"\n"; } };и я пытаюсь использовать это так: std::vector<A> vec; A a; vec.push_back(a); std::for_each(vec.begin(), ...

Задан 23 Sep 2009, 07:21 от Naveen
  • 7 голосов
  • 3 ответа
  • 0 просмотров
3 ответа

Почему перегрузка оператора & () запрещена для классов, хранящихся в контейнерах STL?

Вдруг вэта статья («проблема 2») Я вижу утверждение, что C ++ Standard запрещает использование контейнеров STL для хранения элементов класса, если этот класс...

Задан 27 Apr 2010, 08:46 от sharptooth
  • 33 голосов
  • 7 ответов
  • 0 просмотров
7 ответов

@Matthieu M .: Не совсем, это от еще не действующего стандарта. А у текущего такого требования нет, также в случае с OP это итераторы с произвольным доступом.

но ли сравнивать итераторы из разных контейнеров? std::vector<int> foo; std::vector<int> bar;Есть ли выражениеfoo.begin() == bar.begin() привести к ложному или неопределенному поведению? (Я пишу пользовательский итератор и наткнулся на этот ...

Задан 11 Jan 2011, 12:18 от fredoverflow
Page 1 of 19
1 2 3 4 5