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.

3
Dlaczego kod miałby aktywnie zapobiegać optymalizacji wywołań końcowych?
Tytuł pytania może być trochę dziwny, ale chodzi o to, że o ile wiem, nic nie przemawia przeciwko optymalizacji wywołań ogonowych. Jednak podczas przeglądania projektów open source natknąłem się już na kilka funkcji, które aktywnie próbują powstrzymać kompilator przed optymalizacją wywołań ogonowych, na przykład implementację CFRunLoopRef, która jest pełna takich …

15
Czy C ++ odczytuje i zapisuje int Atomic?
Mam dwa wątki, jeden aktualizujący int, a drugi czytający. Jest to wartość statystyczna, w przypadku której kolejność odczytów i zapisów nie ma znaczenia. Moje pytanie brzmi, czy mimo wszystko muszę zsynchronizować dostęp do tej wartości wielobajtowej? Innymi słowy, część zapisu może zostać zakończona i przerwana, a następnie nastąpi odczyt. Na …

11
Przeciążanie przez zwracany typ
Przeczytałem tutaj kilka pytań dotyczących SO na ten temat, który wydaje mi się jeszcze niejasny. Dopiero co zacząłem uczyć się C ++ i nie studiowałem jeszcze szablonów, przeciążenia operatorów i tym podobnych. Czy istnieje prosty sposób na przeciążenie class My { public: int get(int); char get(int); } bez szablonów lub …
81 c++  overloading 


10
Rysowanie sfery w OpenGL bez użycia gluSphere ()?
Czy są dostępne samouczki, które wyjaśniają, jak narysować kulę w OpenGL bez konieczności używania gluSphere()? Wiele samouczków 3D dla OpenGL dotyczy tylko kostek. Szukałem, ale większość rozwiązań do rysowania kuli ma zastosowanie gluSphere(). Istnieje również witryna, która ma kod do rysowania kuli w tej witrynie, ale nie wyjaśnia matematyki związanej …
81 c++  opengl  geometry 

5
Struktura katalogów dla biblioteki C ++
Pracuję nad biblioteką C ++. Ostatecznie chciałbym udostępnić go publicznie na wiele platform (przynajmniej Linux i Windows), wraz z kilkoma przykładami i powiązaniami Pythona . Prace przebiegają nieźle, ale w tej chwili projekt jest dość chaotyczny, zbudowany wyłącznie w i dla Visual C ++, a nie w ogóle wieloplatformowy. Dlatego …

6
Qt: zmiana rozmiaru etykiety QLabel zawierającej QPixmap z zachowaniem proporcji
Używam QLabel do wyświetlania użytkownikowi zawartości większej, dynamicznie zmieniającej się mapy QPixmap. Byłoby miło, gdyby ta etykieta była mniejsza / większa w zależności od dostępnego miejsca. Rozmiar ekranu nie zawsze jest tak duży jak QPixmap. Jak mogę zmodyfikować QSizePolicyi sizeHint()etykiety QLabel, aby zmienić rozmiar mapy QPixmap, zachowując jednocześnie proporcje oryginalnej …
81 c++  qt  qt4  qlabel 

4
Wieloliniowe makra preprocesora
Jak zrobić makro preprocesora wieloliniowego? Wiem, jak zrobić jedną linię: #define sqr(X) (X*X) ale potrzebuję czegoś takiego: #define someMacro(X) class X : public otherClass { int foo; void doFoo(); }; Jak to działa? To jest tylko przykład, rzeczywiste makro może być bardzo długie.
81 c++  c  c-preprocessor 


6
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ż rzeczywista funkcja jest znacznie dłuższa. Problem polega na tym, …
80 c++  c++11  templates 

3
Co oznacza P :: ************ w pliku Boost assert.hpp?
W boost / mpl / assert.hpp widziałem coś takiego: template<class Pred> struct eval_assert { typedef typename extract_assert_pred<Pred>::type P; typedef typename P::type p_type; typedef typename ::boost::mpl::if_c<p_type::value, AUX778076_ASSERT_ARG(assert<false>), failed ************ P::************ >::type type; }; Jeśli pierwszy ************można potraktować jako wskaźniki struktury zawiodły, to P::************naprawdę nie ma to dla mnie sensu. Czy to …
80 c++  pointers  boost 

4
Inicjalizacja tablicy w C ++
jest tą formą inicjalizacji tablicy ze wszystkimi zerami char myarray[ARRAY_SIZE] = {0} obsługiwane przez wszystkie kompilatory? , jeśli tak, czy istnieje podobna składnia do innych typów? na przykład bool myBoolArray[ARRAY_SIZE] = {false}
80 c++  syntax 


3
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ż X(answer); mogłoby być …


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.