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 mogę wskazać optymalizatorowi, podając zakres liczby całkowitej?
Używam inttypu do przechowywania wartości. Zgodnie z semantyką programu, wartość zawsze zmienia się w bardzo małym zakresie (0 - 36) i int(nie a char) jest używana tylko ze względu na wydajność procesora. Wygląda na to, że na tak małym zakresie liczb całkowitych można przeprowadzić wiele specjalnych optymalizacji arytmetycznych. Wiele wywołań …


3
Wyłącz konstruktora kopiującego
Mam klasę : class SymbolIndexer { protected: SymbolIndexer ( ) { } public: static inline SymbolIndexer & GetUniqueInstance ( ) { static SymbolIndexer uniqueinstance_ ; return uniqueinstance_ ; } }; Jak mam go zmodyfikować, aby wyłączyć kod, taki jak: SymbolIndexer symbol_indexer_ = SymbolIndexer::GetUniqueInstance ( ); i zezwalaj tylko na kod …




2
shared_ptr do tablicy: czy należy go używać?
Tylko małe zapytanie dotyczące shared_ptr. Czy warto shared_ptrwskazać tablicę? Na przykład, shared_ptr<int> sp(new int[10]); Jeśli nie, to dlaczego nie? Jednym z powodów, o których już wiem, jest to, że nie można zwiększać / zmniejszać wartości shared_ptr. Dlatego nie może być używany jako normalny wskaźnik do tablicy.
172 c++  c++11  shared-ptr 

13
Czy wbudowane funkcje wirtualne naprawdę nie mają sensu?
Otrzymałem to pytanie, gdy otrzymałem komentarz do recenzji kodu, który mówi, że funkcje wirtualne nie muszą być wbudowane. Pomyślałem, że wbudowane funkcje wirtualne mogą się przydać w scenariuszach, w których funkcje są wywoływane bezpośrednio na obiektach. Ale przyszedł mi do głowy kontrargument - dlaczego ktoś miałby chcieć definiować wirtualne, a …

11
Używanie G ++ do kompilowania wielu plików .cpp i .h
Właśnie odziedziczyłem kod C ++, który został źle napisany z jednym plikiem cpp, który zawierał główną i kilka innych funkcji. Istnieją również .hpliki zawierające klasy i ich definicje funkcji. Do tej pory program był kompilowany za pomocą polecenia g++ main.cpp. Teraz, gdy rozdzieliłem klasy .hi .cpppliki, czy muszę używać pliku …

4
Drogi skok z GCC 5.4.0
Miałem funkcję, która wyglądała tak (pokazując tylko ważną część): double CompareShifted(const std::vector<uint16_t>& l, const std::vector<uint16_t> &curr, int shift, int shiftY) { ... for(std::size_t i=std::max(0,-shift);i<max;i++) { if ((curr[i] < 479) && (l[i + shift] < 479)) { nontopOverlap++; } ... } ... } Napisana w ten sposób, funkcja zajęła około 34 …
171 c++  gcc 


7
Czym różni się Objective-C od 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ć …
171 c++  objective-c 

17
Jak przekonwertować double na ciąg w C ++?
Muszę przechowywać podwójną jako ciąg. Wiem, że mogę go użyć, printfjeśli chcę go wyświetlić, ale chcę go po prostu zapisać w zmiennej ciągu, aby móc później zapisać go na mapie (jako wartość , a nie klucz ).
171 c++  string  double 

2
Dlaczego lambdy mogą być lepiej zoptymalizowane przez kompilator niż zwykłe funkcje?
W swojej książce The C++ Standard Library (Second Edition)Nicolai Josuttis stwierdza, że ​​kompilator może lepiej zoptymalizować lambdy niż zwykłe funkcje. Ponadto kompilatory C ++ optymalizują lambdy lepiej niż zwykłe funkcje. (Strona 213) Dlaczego? Pomyślałem, że jeśli chodzi o inlining, nie powinno już być żadnej różnicy. Jedynym powodem, dla którego mogłem …


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.