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
Czy cout jest zsynchronizowany / bezpieczny dla wątków?
Generalnie zakładam, że strumienie nie są zsynchronizowane, to do użytkownika należy odpowiednie zablokowanie. Czy jednak takie rzeczy jak coutbiblioteka standardowa są traktowane w specjalny sposób? Oznacza to, że jeśli wiele wątków pisze do, coutczy mogą uszkodzić coutobiekt? Rozumiem, że nawet po zsynchronizowaniu nadal otrzymujesz wyjście z przeplotem losowo, ale czy …
112 c++  gcc  c++11 


9
Po co rzutować nieużywane wartości zwracane na void?
int fn(); void whatever() { (void) fn(); } Czy istnieje jakiś powód, aby rzutować nieużywaną wartość zwracaną na void, czy też mam rację, myśląc, że to kompletna strata czasu? Zagryźć: Cóż, wydaje się to dość wyczerpujące. Przypuszczam, że jest to lepsze niż komentowanie nieużywanej wartości zwracanej, ponieważ samodokumentujący kod jest …
112 c++  c  void 


19
#ifdef vs #if - co jest lepsze / bezpieczniejsze jako metoda włączania / wyłączania kompilacji poszczególnych sekcji kodu?
To może być kwestia stylu, ale w naszym zespole deweloperów jest trochę podziałów i zastanawiałem się, czy ktoś inny ma jakieś pomysły w tej sprawie ... Zasadniczo mamy kilka instrukcji debugowania print, które wyłączamy podczas normalnego programowania. Osobiście wolę wykonać następujące czynności: //---- SomeSourceFile.cpp ---- #define DEBUG_ENABLED (0) ... SomeFunction() …

4
Czy klasę wyliczenia można przekonwertować na typ bazowy?
Czy istnieje sposób na przekonwertowanie enum classpola na typ bazowy? Myślałem, że to będzie automatyczne, ale najwyraźniej nie. enum class my_fields : unsigned { field = 1 }; unsigned a = my_fields::field; To przypisanie jest odrzucane przez GCC. error: cannot convert 'my_fields' to 'unsigned int' in assignment.
112 c++  c++11 



10
Jak uniknąć łańcucha if / else if podczas klasyfikowania nagłówka w 8 kierunkach?
Mam następujący kod: if (this->_car.getAbsoluteAngle() <= 30 || this->_car.getAbsoluteAngle() >= 330) this->_car.edir = Car::EDirection::RIGHT; else if (this->_car.getAbsoluteAngle() > 30 && this->_car.getAbsoluteAngle() <= 60) this->_car.edir = Car::EDirection::UP_RIGHT; else if (this->_car.getAbsoluteAngle() > 60 && this->_car.getAbsoluteAngle() <= 120) this->_car.edir = Car::EDirection::UP; else if (this->_car.getAbsoluteAngle() > 120 && this->_car.getAbsoluteAngle() <= 150) this->_car.edir = Car::EDirection::UP_LEFT; …
111 c++  if-statement 


13
Jak mogę uniknąć pętli „for” zawierających warunek „if” w C ++?
W przypadku prawie całego kodu, który piszę, często mam do czynienia z problemami z redukcją zestawów na kolekcjach, które ostatecznie kończą się naiwnymi warunkami „jeśli” w nich. Oto prosty przykład: for(int i=0; i<myCollection.size(); i++) { if (myCollection[i] == SOMETHING) { DoStuff(); } } Dzięki językom funkcjonalnym mogę rozwiązać problem, redukując …
111 c++  c++11  c++14 

9
Wywołanie metody Objective-C z funkcji składowej C ++?
Mam klasę ( EAGLView), która C++bez problemu wywołuje funkcję składową klasy. Teraz problem polega na tym, że muszę wywołać w tej C++klasie a, objective-C function [context renderbufferStorage:GL_RENDERBUFFER fromDrawable:(CAEAGLLayer*)self.layer];czego nie mogę zrobić w C++składni. Mógłbym zawinąć to Objective-Cwywołanie do tej samej Objective-Cklasy, która na początku nazywała się klasą C ++, ale …
111 c++  objective-c 

16
C ++: Jaki jest rozmiar obiektu pustej klasy?
Zastanawiałem się, jaki może być rozmiar obiektu z pustej klasy . Z pewnością nie może to być 0 bajtów, ponieważ powinno być możliwe odwoływanie się do niego i wskazywanie go jak każdy inny obiekt. Ale jak duży jest taki obiekt? Użyłem tego małego programu: #include <iostream> using namespace std; class …
111 c++  class  object 

7
Wymuszanie kolejności instrukcji w C ++
Załóżmy, że mam kilka instrukcji, które chcę wykonać w ustalonej kolejności. Chcę używać g ++ z poziomem optymalizacji 2, aby można było zmienić kolejność niektórych instrukcji. Jakie narzędzia są potrzebne, aby wymusić określony porządek oświadczeń? Rozważmy następujący przykład. using Clock = std::chrono::high_resolution_clock; auto t1 = Clock::now(); // Statement 1 foo(); …

3
Tablice a wektory: wstępne podobieństwa i różnice [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 ewentualnie ponownie otworzyć, odwiedź centrum pomocy, aby uzyskać …
111 c++  arrays  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.