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
Różnica między std :: result_of i decltype
Mam problemy ze zrozumieniem potrzeby std::result_ofw C ++ 0x. Jeśli dobrze zrozumiałem, result_ofsłuży do uzyskania wynikowego typu wywołania obiektu funkcji z określonymi typami parametrów. Na przykład: template <typename F, typename Arg> typename std::result_of<F(Arg)>::type invoke(F f, Arg a) { return f(a); } Naprawdę nie widzę różnicy w następującym kodzie: template <typename …
100 c++  c++11  decltype  result-of 

8
Jak połączyć dwa ciągi w C ++?
Mam zmienną klasy prywatnej, char name[10]do której chciałbym dodać .txtrozszerzenie, aby móc otworzyć plik obecny w katalogu. Jak mam się do tego zabrać? Byłoby lepiej, gdybyśmy utworzyli nową zmienną łańcuchową, która przechowuje połączony łańcuch.
100 c++ 

11
Haszowanie ciągów czasu kompilacji
W kilku różnych miejscach przeczytałem, że przy użyciu nowych literałów ciągów C ++ 11 może być możliwe obliczenie skrótu ciągu w czasie kompilacji. Jednak nikt nie wydaje się być gotowy, aby wyjść i powiedzieć, że będzie to możliwe i jak to się stanie. czy to możliwe? Jak wyglądałby operator? Jestem …



4
Jakie jest znaczenie terminu arena w odniesieniu do pamięci?
Czytam książkę o pamięci jako koncepcji programowania. W jednym z późniejszych rozdziałów autor intensywnie używa słowa arena , ale nigdy go nie definiuje. Szukałem znaczenia tego słowa i jego związku z pamięcią, ale nic nie znalazłem. Oto kilka kontekstów, w których autor używa terminu: „Następny przykład serializacji obejmuje strategię zwaną …

7
Jaki jest zakres deklaracji „using” w C ++?
Używam deklaracji „using” w C ++, aby dodać std :: string i std :: vector do lokalnej przestrzeni nazw (aby zaoszczędzić wpisywanie niepotrzebnych „std ::”). using std::string; using std::vector; class Foo { /*...*/ }; Jaki jest zakres tej deklaracji? Jeśli zrobię to w nagłówku, czy wstrzyknie te deklaracje „using” do …
100 c++ 


8
Jak przypisać alias do nazwy funkcji w C ++?
Utworzenie nowej nazwy dla typu, zmiennej lub przestrzeni nazw jest łatwe. Ale jak przypisać nową nazwę do funkcji? Na przykład chcę użyć nazwy hollerdla printf. #define jest oczywiste ... w inny sposób? Rozwiązania: #define holler printf void (*p)() = fn; //function pointer void (&r)() = fn; //function reference inline void …
100 c++  alias 

8
Czy „inaczej, jeśli” to jedno słowo kluczowe?
Jestem nowy w C ++. Często widzę warunkowe oświadczenie, jak poniżej: if statement_0; else if statement_1; Pytanie: Składniowo , czy należy traktować else ifjako jedno słowo kluczowe? A może jest to faktycznie zagnieżdżona ifinstrukcja w zewnętrznej, elsejak poniżej? if statement_0; else if statement_1;

19
Jaki jest najszybszy sposób obliczenia razem grzechu i cos?
Chciałbym obliczyć zarówno sinus, jak i współsinus wartości razem (na przykład, aby utworzyć macierz rotacji). Oczywiście mógłbym je obliczyć osobno, jeden po drugim, npa = cos(x); b = sin(x); , ale zastanawiam się, czy istnieje szybszy sposób, gdy potrzebuję obu wartości. Edycja: podsumowanie dotychczasowych odpowiedzi: Vlad powiedział, że istnieje polecenie …
100 c#  c++  c  algorithm  math 


11
Obliczenia zmiennoprzecinkowe i całkowite na nowoczesnym sprzęcie
Wykonuję pewne prace krytyczne dla wydajności w C ++ i obecnie używamy obliczeń całkowitych do problemów, które są z natury zmiennoprzecinkowe, ponieważ „jest szybsze”. Powoduje to wiele irytujących problemów i dodaje dużo irytującego kodu. Pamiętam, jak czytałem o tym, jak obliczenia zmiennoprzecinkowe były tak powolne przez około 386 dni, kiedy …



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.