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.

8
Dlaczego makra preprocesora są złe i jakie są alternatywy?
Zawsze o to pytałem, ale nigdy nie otrzymałem naprawdę dobrej odpowiedzi; Myślę, że prawie każdy programista jeszcze przed napisaniem pierwszego „Hello World” zetknął się z wyrażeniem „makro nie powinno być nigdy używane”, „makro jest złe” i tak dalej, moje pytanie brzmi: dlaczego? Czy po tylu latach istnieje prawdziwa alternatywa dla …

4
Jak uzyskać czas trwania, jako int milli i sekund zmiennoprzecinkowych z <chrono>?
Próbuję użyć biblioteki chronograficznej dla timerów i czasów trwania. Chcę móc mieć Duration frameStart;(od początku aplikacji) i Duration frameDelta;(czas między klatkami) Muszę mieć frameDeltaczas trwania w milisekundach i sekundach zmiennoprzecinkowych. Jak to zrobić z nowymi &lt;chrono&gt;bibliotekami C ++ 11 ? Pracowałem nad tym i googlowałem (informacje są skąpe). Kod jest …
94 c++  c++11  timer  chrono 

14
Jak dodać opóźnienie czasowe do programu C ++?
Próbuję dodać opóźnienie czasowe w programie C ++ i zastanawiałem się, czy ktoś ma jakieś sugestie dotyczące tego, czego mogę spróbować, lub informacje, na które mogę spojrzeć? Żałuję, że nie mam więcej szczegółów na temat tego, jak wdrażam to opóźnienie czasowe, ale dopóki nie będę mieć więcej informacji o tym, …
94 c++  time 


2
Magiczna liczba doładowania :: hash_combine
Funkcja boost::hash_combineszablonu przyjmuje odniesienie do skrótu (wywoływanego seed) i obiektu v. Według dokumentacji łączy się seedz hashem pliku vby seed ^= hash_value(v) + 0x9e3779b9 + (seed &lt;&lt; 6) + (seed &gt;&gt; 2); Widzę, że jest to deterministyczne. Rozumiem, dlaczego używany jest XOR. Założę się, że dodatek pomaga w odwzorowaniu podobnych …

6
Obliczanie długości łańcucha C w czasie kompilacji. Czy to naprawdę constexpr?
Próbuję obliczyć długość literału ciągu w czasie kompilacji. Aby to zrobić, używam następującego kodu: #include &lt;cstdio&gt; int constexpr length(const char* str) { return *str ? 1 + length(str + 1) : 0; } int main() { printf("%d %d", length("abcd"), length("abcdefgh")); } Wszystko działa zgodnie z oczekiwaniami, program wypisuje 4 i …

2
jak dołączyć obiekt list <T> do innego
w C ++ mam dwa list&lt;T&gt;obiekty Ai Bchcę dodać wszystkie składowe Bna końcu A. Przeszukałem kilka różnych źródeł i nie znalazłem prostego rozwiązania (ei A.append(B);) i to mnie trochę zaskakuje. Jaki jest najlepszy sposób, aby to zrobić? Tak się składa, że ​​po tym nie obchodzi mnie B (zostaje usunięte w …
94 c++  list  stl 

8
Wydajne rzutowanie bez podpisu bez zachowania zdefiniowanego przez implementację
Chcę zdefiniować funkcję, która przyjmuje unsigned intjako argument i zwraca intkongruentny modulo UINT_MAX + 1 do argumentu. Pierwsza próba może wyglądać tak: int unsigned_to_signed(unsigned n) { return static_cast&lt;int&gt;(n); } Jednak, jak wie każdy prawnik zajmujący się językiem, rzutowanie wartości większych niż INT_MAX z unsigned na signed jest zdefiniowane przez implementację. …

15
Czy C ++ 11 ma właściwości w stylu C #?
W C # jest ładny cukier składniowy dla pól z getter i setter. Ponadto podoba mi się auto-implementowane właściwości, które pozwalają mi pisać public Foo foo { get; private set; } W C ++ muszę pisać private: Foo foo; public: Foo getFoo() { return foo; } Czy jest jakaś taka …
93 c#  c++  class  c++11 




2
Jaki jest wynik + = w C i C ++?
Mam następujący kod: #include &lt;stdio.h&gt; int main(int argc, char **argv) { int i = 0; (i+=10)+=10; printf("i = %d\n", i); return 0; } Jeśli spróbuję skompilować go jako źródło C przy użyciu gcc, pojawia się błąd: error: lvalue required as left operand of assignment Ale jeśli skompiluję go jako źródło …
93 c++  c 

6
Co robi extern inline?
Rozumiem, że inlinesamo w sobie jest sugestią dla kompilatora i według własnego uznania może wbudować funkcję lub nie, a także wygeneruje kod wynikowy, który można połączyć. Myślę, że static inlinerobi to samo (może być wbudowane lub nie), ale po wstawieniu nie utworzy kodu wynikowego, który można połączyć (ponieważ żaden inny …


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.