Pytania otagowane jako std

Biblioteka standardowa języka C ++ i jej przestrzeń nazw. Używaj w połączeniu z [c ++].

14
Std :: map, która śledzi kolejność wstawiania?
Obecnie mam, std::map<std::string,int>który przechowuje wartość całkowitą do unikalnego identyfikatora ciągu i wyszukuję ciąg. Robi głównie to, co chcę, z wyjątkiem tego, że nie śledzi zamówienia reklamowego. Więc kiedy iteruję mapę, aby wydrukować wartości, są one sortowane według ciągu; ale chcę, aby były sortowane zgodnie z kolejnością (pierwszego) wstawienia. Zastanawiałem się …

5
Dlaczego rand ()% 6 jest obciążony?
Czytając, jak używać std :: rand, znalazłem ten kod na cppreference.com int x = 7; while(x > 6) x = 1 + std::rand()/((RAND_MAX + 1u)/6); // Note: 1+rand()%6 is biased Co jest nie tak z wyrażeniem po prawej stronie? Wypróbowałem i działa idealnie.
109 c++  random  std 



2
Zapobieganie przyjmowaniu przez funkcję const std :: string & od akceptacji 0
Warto tysiąc słów: #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
Dlaczego nie ma std :: stou?
C ++ 11 dodał kilka nowych funkcji konwersji ciągów: http://en.cppreference.com/w/cpp/string/basic_string/stoul Zawiera stoi (ciąg do wartości typu int), stol (ciąg do długości długiej), stoll (ciąg do długości długiej bez znaku), stoul (ciąg do długości bez znaku), stoull (ciąg do długości bez znaku). W przypadku jego braku godna uwagi jest funkcja stou …
96 c++  string  c++11  std 

2
Czy deklaracja może wpływać na przestrzeń nazw std?
#include <iostream> #include <cmath> /* Intentionally incorrect abs() which seems to override std::abs() */ int abs(int a) { return a > 0? -a : a; } int main() { int a = abs(-5); int b = std::abs(-5); std::cout<< a << std::endl << b << std::endl; return 0; } Spodziewałem się, …
96 c++  std  reserved 

6
Dlaczego std :: initializer_list nie jest językiem wbudowanym?
Dlaczego nie std::initializer_listma wbudowanego języka podstawowego? Wydaje mi się, że jest to dość ważna cecha C ++ 11, a mimo to nie ma własnego zarezerwowanego słowa kluczowego (lub czegoś podobnego). Zamiast tego initializer_listjest to po prostu klasa szablonu z biblioteki standardowej, która ma specjalne, niejawne mapowanie z nowej składni listy …


4
Jak zadeklarować std :: unique_ptr i do czego służy?
Próbuję zrozumieć, jak std::unique_ptrdziała i do tego znalazłem ten dokument. Autor zaczyna od następującego przykładu: #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); // overloaded * …
95 c++  pointers  std  unique-ptr 


5
jak znaleźć przecięcie dwóch std :: set w C ++?
Próbowałem znaleźć punkt przecięcia między dwoma std :: ustawionymi w C ++, ale ciągle otrzymuję błąd. Stworzyłem do tego mały przykładowy test #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); set_intersection(s1.begin(),s1.end(),s2.begin(),s2.end()); return …


5
Co oznaczałoby „std :;” zrobić w C ++?
Niedawno modyfikowałem kod i znalazłem istniejący błąd w jednym wierszu funkcji: std:;string x = y; Ten kod nadal się kompiluje i działa zgodnie z oczekiwaniami. Definicja ciągu działa, ponieważ ten plik jest using namespace std;, więc od początku std::był niepotrzebny. Pytanie brzmi, dlaczego std:;kompilacja i co, jeśli w ogóle, robi?
89 c++  std  colon 

8
deklarowanie Priority_queue w C ++ przy użyciu niestandardowego komparatora
Próbuję zadeklarować priority_queue of nodes, używając bool Compare(Node a, Node b)jako funkcji komparatora (która znajduje się poza klasą węzła). Obecnie posiadam: priority_queue<Node, vector<Node>, Compare> openSet; Z jakiegoś powodu rozumiem Error: "Compare" is not a type name Zmiana deklaracji na priority_queue <Node, vector<Node>, bool Compare> daje mi Error: expected a '>' …

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.