Запитання з тегом «std»

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

14
Std :: карта, яка відстежує порядок вставки?
В даний час у мене є 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
Чи існує клас діапазону в C ++ 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_; return copy; } …
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 (рядок до довгого), stoll (рядок до довгого довгого), stoul (рядок до беззнакового довгого), stoull (рядок до беззнакового довгого довгого). Примітною за його відсутності є функція stou (рядок до беззнаку). Чи є якісь причини, …
96 c++  string  c++11  std 


6
Чому std :: initializer_list не є вбудованою мовою?
Чому не std::initializer_listвбудована основна мова? Мені здається, що це досить важлива особливість C ++ 11, і все ж він не має власного зарезервованого ключового слова (або чогось іншого). Натомість initializer_listце просто клас шаблону зі стандартної бібліотеки, який має спеціальне, неявне зіставлення з нового синтаксису дужок-init-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 


4
Чи визначені такі типи, як uint32, int32, uint64, int64 у будь-якому заголовку stdlib?
Я часто бачу вихідний код, використовуючи такі типи, як uint32, uint64, і мені цікаво, чи їх слід визначити програмістом у коді програми чи чи вони визначені у стандартному заголовку lib. Який найкращий спосіб мати ці типи у вихідному коді програми?
94 c  std 

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); s2.insert(3); s2.insert(0); …

4
cc1plus: помилка: нерозпізнана опція командного рядка “-std = c ++ 11” з g ++
Я намагаюся скомпілювати за допомогою g++або -std=c++11або c++0xпрапорців. Однак я отримую цю помилку cc1plus: error: unrecognized command line option "-std=c++11" g ++ --версія 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
оголошення prioritet_черепи в 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> дає мені Error: …

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.