«std» etiketlenmiş sorular

C ++ Standart Kitaplığı ve ad alanı. [C ++] ile birlikte kullanın.

14
Ekleme sırasını takip eden bir std :: map?
Şu anda std::map<std::string,int>benzersiz bir dize tanımlayıcısına bir tamsayı değeri depolayan bir cihazım var ve dizeye bakıyorum. Ekleme siparişini takip etmemesi dışında çoğunlukla istediğimi yapıyor. Dolayısıyla, değerleri yazdırmak için haritayı yinelediğimde, bunlar dizeye göre sıralanır; ancak (ilk) ekleme sırasına göre sıralanmalarını istiyorum. Bunun vector<pair<string,int>>yerine a kullanmayı düşündüm , ancak dizgeye bakmam …

5
Rand ()% 6 neden önyargılıdır?
Std :: rand'ın nasıl kullanılacağını okurken, bu kodu cppreference.com'da buldum int x = 7; while(x > 6) x = 1 + std::rand()/((RAND_MAX + 1u)/6); // Note: 1+rand()%6 is biased Sağdaki ifadenin nesi yanlış? Denedim ve mükemmel çalışıyor.
109 c++  random  std 



2
Const std :: string & 0'ın kabul etmesini engelleyin
Bin kelimeye bedel: #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; …

6
Std :: initializer_list neden yerleşik bir dil değil?
Neden std::initializer_listbir çekirdek dil yerleşik değil ? Bana öyle geliyor ki, C ++ 11'in oldukça önemli bir özelliği ve yine de kendi ayrılmış anahtar kelimesine (veya benzer bir şeye) sahip değil. Bunun yerine, initializer_listbu kadar sadece özel, örtülü sahiptir standart kütüphaneden bir şablon sınıfı eşlemesi yeni gelen hazırladı-init-liste {...} derleyici …

3
Neden std :: stou yok?
C ++ 11, bazı yeni dize dönüştürme işlevleri ekledi: http://en.cppreference.com/w/cpp/string/basic_string/stoul Stoi (string'den int'e), stol (string'den long'a), stoll (string'den long'a), stoul (string'den unsigned long'a), stoull (string'den unsigned long'a kadar) içerir. Onun yokluğunda dikkate değer bir stou (dizeden işaretsiz) işlevidir. Gerekli olmamasına rağmen diğerlerinin hepsinin bir nedeni var mı? related: C ++ …
96 c++  string  c++11  std 

2
Bir bildirim, std ad alanını etkileyebilir mi?
#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; } Çıktının -5ve …
96 c++  std  reserved 


4
Std :: unique_ptr nasıl bildirilir ve ne işe yarar?
Nasıl çalıştığını anlamaya std::unique_ptrçalışıyorum ve bunun için bu belgeyi buldum . Yazar şu örnekten başlıyor: #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
C ++ 'da iki std :: setin kesişim noktası nasıl bulunur?
C ++ 'da iki std :: set arasındaki kesişimi bulmaya çalışıyorum, ancak bir hata alıyorum. Bunun için küçük bir örnek test oluşturdum #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
'Std :;' ne olurdu? c ++ 'da mı?
Yakın zamanda bazı kodları değiştiriyordum ve bir işlevin bir satırında önceden var olan bir hata buldum: std:;string x = y; Bu kod hala derleniyor ve beklendiği gibi çalışıyor. Dize tanımı işe yarıyor çünkü bu dosya using namespace std;, bu yüzden std::ilk etapta gereksizdi. Soru şu ki, neden std:;derleme yapılıyor ve …
89 c++  std  colon 

8
özel bir karşılaştırıcı ile c ++ 'da bir öncelikli kuyruğun bildirilmesi
Karşılaştırıcı işlevi olarak (düğüm sınıfının dışında olan) priority_queue of nodeskullanarak a bildirmeye çalışıyorum bool Compare(Node a, Node b). Şu anda sahip olduğum şey: priority_queue<Node, vector<Node>, Compare> openSet; Nedense alıyorum Error: "Compare" is not a type name Beyanı olarak değiştirme priority_queue <Node, vector<Node>, bool Compare> bana verir Error: expected a '>' …


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.