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.

4
Przekazywanie shared_ptr <Derived> jako shared_ptr <Base>
Jaka jest najlepsza metoda przekazywania a shared_ptrtypu pochodnego do funkcji, która przyjmuje shared_ptrtyp podstawowy? Generalnie przekazuję shared_ptrje jako odniesienie, aby uniknąć niepotrzebnych kopii: int foo(const shared_ptr&lt;bar&gt;&amp; ptr); ale to nie działa, jeśli spróbuję zrobić coś takiego int foo(const shared_ptr&lt;Base&gt;&amp; ptr); ... shared_ptr&lt;Derived&gt; bar = make_shared&lt;Derived&gt;(); foo(bar); mógłbym użyć foo(dynamic_pointer_cast&lt;Base, Derived&gt;(bar)); …



9
Czy ((a + (b & 255)) & 255) to to samo co ((a + b) & 255)?
Przeglądałem kod w C ++ i znalazłem coś takiego: (a + (b &amp; 255)) &amp; 255 Podwójny AND mnie zirytował, więc pomyślałem: (a + b) &amp; 255 ( ai bsą 32-bitowymi liczbami całkowitymi bez znaku) Szybko napisałem skrypt testowy (JS), aby potwierdzić moją teorię: for (var i = 0; i …
92 c++  binary  logic 

13
LLVM C ++ IDE dla Windows
Czy istnieje środowisko C / C ++ IDE dla systemu Windows, które jest zintegrowane z kompilatorem LLVM (i analizatorem Clang C / C ++), tak jak robi to nowoczesny Xcode. Mam Dev-Cpp (używa przestarzałego GCC) i Code :: Blocks (z niektórymi GCC). Ale GCC daje mi bardzo tajemnicze komunikaty o …
92 c++  windows  ide  llvm  clang 

1
Dlaczego wektor libc ++ <bool> :: const_reference nie jest bool?
Sekcja 23.3.7 Klasa vector&lt;bool&gt;[vector.bool], akapit 1 stwierdza: template &lt;class Allocator&gt; class vector&lt;bool, Allocator&gt; { public: // types: typedef bool const_reference; ... Jednak ten program nie kompiluje się podczas korzystania z libc ++: #include &lt;vector&gt; #include &lt;type_traits&gt; int main() { static_assert(std::is_same&lt;std::vector&lt;bool&gt;::const_reference, bool&gt;{}, "?"); } Ponadto zauważam, że standard C ++ był …

7
Czy const_cast jest bezpieczne?
Nie mogę znaleźć zbyt wielu informacji const_cast. Jedyne informacje, które udało mi się znaleźć (na temat przepełnienia stosu) to: const_cast&lt;&gt;()Jest stosowany do dodawania / usuwania const (Ness) (lub lotny-ności) o zmiennej. To mnie denerwuje. Czy użycie jakiegoś const_castpowodu może spowodować nieoczekiwane zachowanie? Jeśli tak to co? Ewentualnie, kiedy można go …

1
Co znaczy?
Mam 2 zajęcia: class base { virtual void foo() {}; }; class derived : public base { void foo() { base::foo(); } }; Popełniłem błąd i base:foo();zamiast tego pisałem base::foo();. Kod został skompilowany i uruchomiony, ale posegregował. Nie wiem, jak mogę to wygooglować i nie wiem, co to jest, ale …
92 c++  syntax 

8
Czy Python jest szybszy i lżejszy niż C ++? [Zamknięte]
W obecnym stanie to pytanie nie pasuje do naszego formatu pytań i odpowiedzi. Oczekujemy, że odpowiedzi będą poparte faktami, referencjami lub ekspertyzą, ale to pytanie prawdopodobnie będzie wymagało debaty, argumentów, ankiet lub rozszerzonej dyskusji. Jeśli uważasz, że to pytanie można poprawić i prawdopodobnie ponownie otworzyć, odwiedź centrum pomocy, aby uzyskać …



3
Co powoduje sygnał „SIGILL”?
Przenoszę kod C ++ do Androida przy użyciu NDK i GCC. Kod w zasadzie działa. W pewnym momencie podczas debugowania w Eclipse wywołanie Dabbler::Android::Factory* pFactory = new Dabbler::Android::Factory; powoduje ten błąd: Thread [1] (Suspended: Signal 'SIGILL' received. Description: Illegal instruction.) 1 &lt;symbol is not available&gt; 0x812feb44 Co to znaczy? Czy …


9
stdcall i cdecl
Istnieją (między innymi) dwa typy konwencji wywoływania - stdcall i cdecl . Mam na nie kilka pytań: Kiedy wywoływana jest funkcja cdecl, skąd dzwoniący wie, czy powinien zwolnić stos? Czy w miejscu wywołania dzwoniący wie, czy wywoływana funkcja jest funkcją cdecl czy stdcall? Jak to działa ? Skąd dzwoniący wie, …
92 c++  stdcall  cdecl 


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.