Pytania oznaczone «c++»

80
QVector vs QList

Mam listę liczb całkowitych, które muszę powtórzyć, ale tablica jest nieodpowiednia. Jakie są różnice między vectorsi i listsczy jest coś, co muszę wiedzieć, zanim wybiorę typ? Żeby było jasne, przeczytałem dokumentację QT, ale to jest zakres tego, co wiem: QList<T>,...

80
Inicjowanie elementu członkowskiego const w deklaracji klasy w C ++

W PHP i C # stałe można zainicjować tak, jak są zadeklarowane: class Calendar3 { const int value1 = 12; const double value2 = 0.001; } Mam następującą deklarację C ++ funktora, który jest używany z inną klasą do porównania dwóch wektorów matematycznych: struct equal_vec { bool operator()...

80
Dlaczego to wywołuje domyślny konstruktor?

struct X { X() { std::cout << "X()\n"; } X(int) { std::cout << "X(int)\n"; } }; const int answer = 42; int main() { X(answer); } Spodziewałbym się, że to też się wydrukuje X(int), ponieważ X(answer);można to zinterpretować jako odlew zint do Xlub w ogóle nic, ponieważ...

80
std :: vector :: resize () a std :: vector :: Reserve ()

Jest wątek w sekcji komentarzy w tym poście na temat korzystania std::vector::reserve()Vs. std::vector::resize(). Oto oryginalny kod: void MyClass::my_method() { my_member.reserve(n_dim); for(int k = 0 ; k < n_dim ; k++ ) my_member[k] = k ; } Uważam, że aby wpisać elementy w elemencie...

80
Jak korzystać z priorytetowej kolejki STL dla obiektów?

class Person { public: int age; }; Chcę przechowywać obiekty klasy Person w kolejce priorytetowej. priority_queue< Person, vector<Person>, ??? > Myślę, że muszę zdefiniować klasę do porównania, ale nie jestem tego pewien. Kiedy piszemy, priority_queue< int,...

80
Powiel kod przy użyciu języka C ++ 11

Obecnie pracuję nad projektem i mam następujący problem. Mam metodę C ++, którą chcę pracować na dwa różne sposoby: void MyFunction() { foo(); bar(); foobar(); } void MyFunctionWithABonus() { foo(); bar(); doBonusStuff(); foobar(); } I nie chciałbym powielać swojego kodu, ponieważ...

80
Jak ta struktura może mieć sizeof == 0?

Jest stary post z prośbą o konstrukcję, dla której sizeofwróci 0. Istnieje kilka odpowiedzi z wysokimi wynikami od użytkowników o wysokiej reputacji, którzy twierdzą, że standardowo żaden typ ani zmienna nie może mieć rozmiaru 0. I zgadzam się z tym w 100%. Jest jednak nowa odpowiedź, która...

80
Dlaczego muszę wyraźnie wpisać słowo kluczowe „auto”?

Przechodzę w kierunku C ++ 11 z C ++ 98 i zapoznałem się ze autosłowem kluczowym. Zastanawiałem się, dlaczego musimy jawnie zadeklarować, autoczy kompilator może automatycznie wydedukować typ. Wiem, że C ++ jest językiem silnie typizowanym i jest to reguła, ale czy nie można było osiągnąć tego...

80
Inicjalizacja zmiennych w instrukcji „if”

Czytałem, że w C ++ 17 możemy inicjalizować zmienne w iftakich instrukcjach if (int length = 2; length == 2) //execute something Zamiast int length = 2; if (length == 2) //do something Mimo że jest krótszy, wpływa na czytelność kodu (szczególnie dla osób, które nie znają tej nowej...