Pytania otagowane jako c++

C ++ jest językiem programowania ogólnego przeznaczenia. Został pierwotnie zaprojektowany jako rozszerzenie do C i ma podobną składnię, ale teraz jest to zupełnie inny język. Ten znacznik służy do pytań o kod (kompilowany) za pomocą kompilatora C ++. Użyj tagu specyficznego dla wersji w przypadku pytań związanych z określoną wersją standardową [C ++ 11], [C ++ 14], [C ++ 17] lub [C ++ 20] itp.

2
Jaka jest różnica między pustym a null std :: shared_ptr w C ++?
Cplusplus.com shared_ptrstrona nazywa się rozróżnienie między pusty std::shared_ptr a wartość null shared_ptr . Strona cppreference.com nie wyjaśnia wyraźnie tego rozróżnienia, ale nullptrw opisie std::shared_ptrzachowania używa zarówno słowa „pusty”, jak i porównania . Czy jest różnica między pustym a null shared_ptr? Czy jest jakiś przypadek użycia dla takich wskaźników o mieszanym …
80 c++  c++11  shared-ptr 

1
więcej duchowego szaleństwa - typy parserów (reguły vs int_parser <>) i techniki metaprogramowania
Pytanie jest pogrubione u dołu, problem jest również podsumowany fragmentem kodu destylacji pod koniec. Próbuję ujednolicić mój system typów (system typów robi do i od typu do ciągu) w jeden komponent (zgodnie z definicją Lakos). Używam boost::array, boost::variantoraz boost::mplw celu osiągnięcia tego celu. Chcę, aby reguły parsera i generatora dla …

7
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 samego wyniku bez …
80 c++  c++11  auto 

28
Dlaczego wyjątki powinny być używane konserwatywnie?
Często widzę / słyszę, jak ludzie mówią, że wyjątków należy używać rzadko, ale nigdy nie wyjaśniam, dlaczego. Chociaż może to być prawda, racjonalne uzasadnienie jest zwykle proste: „nie bez powodu nazywa się to wyjątkiem”, co według mnie wydaje się być rodzajem wyjaśnienia, którego żaden szanowany programista / inżynier nigdy nie …
80 c++  exception 

13
Jak zaimplementować duży int w C ++
Chciałbym zaimplementować dużą klasę int w C ++ jako ćwiczenie programistyczne - klasę, która może obsługiwać liczby większe niż długie int. Wiem, że istnieje już kilka implementacji open source, ale chciałbym napisać własne. Próbuję wyczuć, jakie jest właściwe podejście. Rozumiem, że ogólna strategia polega na uzyskaniu liczby jako ciągu, a …

4
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 przedstawia to rozwiązanie: …

4
Inny operator rzutowania wywoływany przez różne kompilatory
Rozważmy następujący krótki program w C ++: #include &lt;iostream&gt; class B { public: operator bool() const { return false; } }; class B2 : public B { public: operator int() { return 5; } }; int main() { B2 b; std::cout &lt;&lt; std::boolalpha &lt;&lt; (bool)b &lt;&lt; std::endl; } Jeśli skompiluję …


6
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 funkcji), …
80 c++  c++17 

6
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 &lt; n_dim ; k++ ) my_member[k] = k ; } Uważam, że aby wpisać elementy w elemencie vector, właściwą rzeczą jest wywołanie std::vector::resize(), a …
80 c++  stl  vector 

5
Jak korzystać z priorytetowej kolejki STL dla obiektów?
class Person { public: int age; }; Chcę przechowywać obiekty klasy Person w kolejce priorytetowej. priority_queue&lt; Person, vector&lt;Person&gt;, ??? &gt; Myślę, że muszę zdefiniować klasę do porównania, ale nie jestem tego pewien. Kiedy piszemy, priority_queue&lt; int, vector&lt;int&gt;, greater&lt;int&gt; &gt; Jak działa większy?
80 c++  stl 


5
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&lt;T&gt;, QLinkedList&lt;T&gt;i QVector&lt;T&gt;zapewniają podobną funkcjonalność. Oto przegląd: W większości przypadków QListjest …
80 c++  qt  list  vector 



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.