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
Jak używać argumentu Macro jako literału ciągu?
Próbuję dowiedzieć się, jak napisać makro, które przekaże zarówno ciąg znaków reprezentacji nazwy zmiennej, jak i samą zmienną do funkcji. Na przykład biorąc pod uwagę następującą funkcję. void do_something(string name, int val) { cout << name << ": " << val << endl; } Chciałbym napisać makro, więc mogę to …

1
Co robi ## (double hash) w dyrektywie preprocesora?
#define DEFINE_STAT(Stat) \ struct FThreadSafeStaticStat<FStat_##Stat> StatPtr_##Stat; Powyższa linia pochodzi z Unreal 4 i wiem, że mógłbym zadać to pytanie na nierealnych forach, ale myślę, że jest to ogólne pytanie C ++, które zasługuje na to, aby je tutaj zadać. Rozumiem, że pierwsza linia definiuje makro, jednak nie jestem dobrze zaznajomiony …

4
Mylący błąd szablonu
Bawiłem się przez jakiś czas z clang i natknąłem się na "test / SemaTemplate / dependent-template-recovery.cpp" (w dystrybucji clang), który ma dostarczać wskazówek, jak odzyskać dane po błędzie szablonu. Całość można łatwo sprowadzić do minimalnego przykładu: template<typename T, typename U, int N> struct X { void f(T* t) { // …
91 c++  templates  llvm  clang 

11
Czy istnieje funkcja do kopiowania tablicy w C / C ++?
Jestem programistą Java uczącym się C / C ++. Więc wiem, że Java ma funkcję taką jak System.arraycopy (); aby skopiować tablicę. Zastanawiałem się, czy w C lub C ++ jest funkcja do kopiowania tablicy. Udało mi się znaleźć tylko implementację do skopiowania tablicy za pomocą pętli for, wskaźników itp. …
91 c++  c  arrays 


4
Niezdefiniowane odniesienie do statycznego elementu członkowskiego
Używam kompilatora krzyżowego. Mój kod to: class WindowsTimer{ public: WindowsTimer(){ _frequency.QuadPart = 0ull; } private: static LARGE_INTEGER _frequency; }; Otrzymuję następujący błąd: niezdefiniowane odniesienie do `WindowsTimer :: _ frequency ' Próbowałem też zmienić to na LARGE_INTEGER _frequency.QuadPart = 0ull; lub static LARGE_INTEGER _frequency.QuadPart = 0ull; ale nadal otrzymuję błędy. ktoś …

3
<random> generuje tę samą liczbę w systemie Linux, ale nie w systemie Windows
Poniższy kod ma na celu wygenerowanie listy pięciu liczb pseudolosowych w przedziale [1100]. Zaszczepiam default_random_enginez time(0), co zwraca czas systemowy w czasie uniksowym . Kiedy kompiluję i uruchamiam ten program w systemie Windows 7 przy użyciu Microsoft Visual Studio 2013, działa zgodnie z oczekiwaniami (patrz poniżej). Kiedy robię to w …

10
instrukcja if - ocena zwarcia a czytelność
Czasami ifinstrukcja może być dość skomplikowana lub długa, dlatego ze względu na czytelność lepiej jest wyodrębnić skomplikowane wywołania przed rozszerzeniem if. np. to: if (SomeComplicatedFunctionCall() || OtherComplicatedFunctionCall()) { // do stuff } zaangażowany w to bool b1 = SomeComplicatedFunctionCall(); bool b2 = OtherComplicatedFunctionCall(); if (b1 || b2) { //do stuff …

2
GNU GCC (g ++): Dlaczego generuje wielu lekarzy?
Środowisko programistyczne: GNU GCC (g ++) 4.1.2 Podczas gdy próbuję zbadać, jak zwiększyć `` pokrycie kodu - szczególnie pokrycie funkcji '' w testach jednostkowych, odkryłem, że niektóre klasy dtor wydają się być generowane wiele razy. Czy ktoś z was ma pojęcie, dlaczego, proszę? Wypróbowałem i zaobserwowałem to, o czym wspomniałem …
90 c++  g++  destructor 



2
Czy ta optymalizacja zmiennoprzecinkowa jest dozwolona?
Próbowałem sprawdzić, gdzie floattraci zdolność do dokładnego reprezentowania dużych liczb całkowitych. Więc napisałem ten mały fragment: int main() { for (int i=0; ; i++) { if ((float)i!=i) { return i; } } } Ten kod wydaje się działać ze wszystkimi kompilatorami, z wyjątkiem clang. Clang generuje prostą nieskończoną pętlę. Godbolt …


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.