Вопросы с тегом «std»

Стандартная библиотека C ++ и ее пространство имен. Используется вместе с [c ++].

14
Std :: map, отслеживающая порядок вставки?
В настоящее время у меня есть объект std::map<std::string,int>, в котором целочисленное значение хранится в уникальном строковом идентификаторе, и я ищу эту строку. Он делает в основном то, что я хочу, за исключением того, что не отслеживает порядок вставки. Поэтому, когда я перебираю карту, чтобы распечатать значения, они сортируются по строке; …

5
Почему rand ()% 6 смещен?
Читая, как использовать std :: rand, я нашел этот код на cppreference.com int x = 7; while(x > 6) x = 1 + std::rand()/((RAND_MAX + 1u)/6); // Note: 1+rand()%6 is biased Что не так с выражением справа? Пробовал и работает отлично.
109 c++  random  std 

8
Есть ли класс диапазона в С ++ 11 для использования с циклами на основе диапазона?
Я обнаружил, что пишу это совсем недавно: template <long int T_begin, long int T_end> class range_class { public: class iterator { friend class range_class; public: long int operator *() const { return i_; } const iterator &operator ++() { ++i_; return *this; } iterator operator ++(int) { iterator copy(*this); ++i_; …
101 c++  c++11  std 


2
Запрет функции, принимающей const std :: string & от принятия 0
Стоит тысячи слов: #include<string> #include<iostream> class SayWhat { public: SayWhat& operator[](const std::string& s) { std::cout<<"here\n"; // To make sure we fail on function entry std::cout<<s<<"\n"; return *this; } }; int main() { SayWhat ohNo; // ohNo[1]; // Does not compile. Logic prevails. ohNo[0]; // you didn't! this compiles. return 0; …

3
Почему нет std :: stou?
В C ++ 11 добавлены новые функции преобразования строк: http://en.cppreference.com/w/cpp/string/basic_string/stoul Он включает в себя stoi (строка в int), stol (строка в long), stoll (строка в long long), stoul (строка в long без знака), stoull (строка в long без знака). Примечательна его отсутствием функция stou (преобразование строки в беззнаковый). Есть ли …
96 c++  string  c++11  std 


6
Почему std :: initializer_list не является встроенным языком?
Почему не std::initializer_listвстроен базовый язык? Мне кажется, что это довольно важная особенность C ++ 11, но у него нет собственного зарезервированного ключевого слова (или чего-то подобного). Вместо этого initializer_listэто просто класс шаблона из стандартной библиотеки, который имеет специальное неявное сопоставление из нового списка инициализации в фигурных скобках. {...} синтаксиса скобках, …

4
Как объявить std :: unique_ptr и в чем его польза?
Я пытаюсь понять, как это std::unique_ptrработает, и для этого я нашел этот документ. Автор исходит из следующего примера: #include <utility> //declarations of unique_ptr using std::unique_ptr; // default construction unique_ptr<int> up; //creates an empty object // initialize with an argument unique_ptr<int> uptr (new int(3)); double *pd= new double; unique_ptr<double> uptr2 (pd); …
95 c++  pointers  std  unique-ptr 


5
как найти пересечение двух std :: set в C ++?
Я пытался найти пересечение между двумя std :: set в C ++, но все время получаю сообщение об ошибке. Я создал небольшой образец теста для этого #include <iostream> #include <vector> #include <algorithm> #include <set> using namespace std; int main() { set<int> s1; set<int> s2; s1.insert(1); s1.insert(2); s1.insert(3); s1.insert(4); s2.insert(1); s2.insert(6); …

4
cc1plus: ошибка: нераспознанный параметр командной строки «-std = c ++ 11» с g ++
Я пытаюсь скомпилировать, используя g++и флаги -std=c++11или c++0x. Однако я получаю эту ошибку cc1plus: error: unrecognized command line option "-std=c++11" g ++ --version g++ (GCC) 4.1.2 20080704 (Red Hat 4.1.2-54) Copyright (C) 2006 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO …

5
Что бы 'std :;' делать в c ++?
Недавно я модифицировал код и обнаружил уже существующую ошибку в одной строке функции: std:;string x = y; Этот код все еще компилируется и работает должным образом. Определение строки работает, потому что этот файл есть using namespace std;, поэтому std::в первую очередь не было необходимости. Вопрос в том, зачем он std:;компилируется …
89 c++  std  colon 

8
объявление priority_queue в c ++ с помощью настраиваемого компаратора
Я пытаюсь объявить a priority_queue of nodes, используя bool Compare(Node a, Node b)функцию компаратора (которая находится за пределами класса узла). В настоящее время у меня есть: priority_queue<Node, vector<Node>, Compare> openSet; По какой-то причине я получаю Error: "Compare" is not a type name Изменение декларации на priority_queue <Node, vector<Node>, bool Compare> …


Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.