Domande taggate «std»

La libreria standard C ++ e il suo spazio dei nomi. Utilizzare in combinazione con [c ++].


5
Perché rand ()% 6 è parziale?
Durante la lettura di come utilizzare std :: rand, ho trovato questo codice su cppreference.com int x = 7; while(x > 6) x = 1 + std::rand()/((RAND_MAX + 1u)/6); // Note: 1+rand()%6 is biased Cosa c'è di sbagliato nell'espressione a destra? L'ho provato e funziona perfettamente.
109 c++  random  std 



2
Impedisci che la funzione prenda const std :: string e che accetti 0
Vale più di mille parole: #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. …

3
Perché non c'è std :: stou?
C ++ 11 ha aggiunto alcune nuove funzioni di conversione delle stringhe: http://en.cppreference.com/w/cpp/string/basic_string/stoul Include stoi (string to int), stol (string to long), stoll (string to long long), stoul (string to unsigned long), stoull (string to unsigned long long). Notevole in sua assenza è una funzione stou (string to unsigned). C'è …
96 c++  string  c++11  std 

2
Una dichiarazione può influire sullo spazio dei nomi 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; } Mi aspettavo …
96 c++  std  reserved 

6
Perché std :: initializer_list non è un linguaggio integrato?
Perché non è std::initializer_listintegrato un linguaggio di base? Mi sembra che sia una caratteristica abbastanza importante di C ++ 11 e tuttavia non ha una propria parola chiave riservata (o qualcosa di simile). Invece, initializer_listè solo una classe modello dalla libreria standard che ha una speciale mappatura implicita dalla nuova …

4
Come dichiarare std :: unique_ptr e a cosa serve?
Cerco di capire come std::unique_ptrfunziona e per questo ho trovato questo documento. L'autore parte dal seguente esempio: #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
come trovare l'intersezione di due std :: set in C ++?
Ho provato a trovare l'intersezione tra due std :: set in C ++, ma continuo a ricevere un errore. Ho creato un piccolo test di esempio per questo #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); …


5
Cosa sarebbe "std :;" fare in c ++?
Di recente stavo modificando del codice e ho trovato un bug preesistente su una riga all'interno di una funzione: std:;string x = y; Questo codice viene comunque compilato e ha funzionato come previsto. La definizione della stringa funziona perché questo file lo è using namespace std;, quindi std::non era necessario …
89 c++  std  colon 

6
Come combino i valori hash in C ++ 0x?
C ++ 0x aggiunge hash<...>(...). hash_combineTuttavia, non sono riuscito a trovare una funzione, come presentato in boost . Qual è il modo più pulito per implementare qualcosa di simile? Forse, usando C ++ 0x xor_combine?
87 c++  c++11  boost  hash  std 

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.