Результаты поиска по запросу "stl"

4 ответа

Сортировать вектор пар по первому элементу, а затем по второму элементу пары в C ++?

могу отсортировать этоvector сравниваяpair.first который являетсяstd::string? (без предоставления статической функции сравнения, ни использования повышения).

7 ответов

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

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

6 ответов

Не очень полезно на всех ...

аписать данные набора битов в файл? [https://stackoverflow.com/questions/778378/how-to-write-bitset-data-to-a-file] Первый ответ не дает правильного ответа на вопрос, поскольку он занимает в 8 раз больше места, чем следовало бы. Как бы вы это ...

ТОП публикаций

10 ответов

, Если ваши данные не меняются, я считаю, что вы можете получить результат в постоянное время (в худшем случае - логарифмическое время).

тсортированный вектор с несколькими значениями, как в следующем примере: std::vector<double> f; f.pushback(10); f.pushback(100); f.pushback(1000); f.pushback(10000);Я ищу наиболее элегантный способ получения для любого двойного d двух значений, ...

2 ответа

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

ытался понять реализацию итератора, и, играя с источником, я увидел это утверждение: typedef output_iterator_tag iterator_category;Я не понимаю, как этот typedef работает в классе? Какой побочный эффект это дает? Кто-нибудь может провести меня ...

7 ответов

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

овам Скотта Мейерса, в своей книге «Эффективное STL» - пункт 46. Он утверждал, чтоstd::sort [http://en.cppreference.com/w/cpp/algorithm/sort]примерно на 670% быстрее, чемstd::qsort [http://en.cppreference.com/w/cpp/algorithm/qsort]из-за факта ...

0 ответов

Семантика для обернутых объектов: ссылка / значение по умолчанию через std :: move / std :: ref

В последнее время я часто использую естественную идиому, которую я «открыл» в C ++ 11, - это то, что обернутый объект может автоматически содержать ссылку, когда это возможно. Основной вопрос здесь будет о сравнении поведения этой «идиомы» с ...

3 ответа

Я использую это в пользовательском массиве, но он отлично работает и с std :: vector.

аружил, что пишу for(int i=0;i<myvec.size();i++) myvec[i]->DoWhatever(param);много, и я хотел бы сжать это вforeach Скажите, но я не уверен, как получитьparam там, не идя супер-многословно. У меня также есть такие вещи, как for(int ...

3 ответа

Я не хотел голосовать за это, но он заблокирован. Если вы отредактируете ответ, я могу / уберу отрицательный голос.

ел бы избежать ненужных копий. Я стремлюсь к чему-то вроде: std::ifstream testFile( "testfile", "rb" ); std::vector<char> fileContents; int fileSize = getFileSize( testFile ); fileContents.reserve( fileSize ); testFile.read( &fileContents[0], ...

1 ответ

необходимо, чтобы избежать рекурсивного вызова обмена участником. Обмен участником отключает ADL.

емя некоторой практики C ++ я пытался выучить и принять идиому копирования-обмена, следуя этому подробному объяснению по этому вопросу:идиома копирования-обмена [https://stackoverflow.com/q/3279543/356440]. Но я нашел код, который никогда не ...