Chcę zająć się bardziej metaprogramowaniem szablonów. Wiem, że SFINAE oznacza „niepowodzenie zamiany nie jest błędem”. Ale czy ktoś może mi pokazać dobre zastosowanie
Chcę zająć się bardziej metaprogramowaniem szablonów. Wiem, że SFINAE oznacza „niepowodzenie zamiany nie jest błędem”. Ale czy ktoś może mi pokazać dobre zastosowanie
Widzę zmienne zdefiniowane w tym typie, ale nie wiem, skąd one pochodzą, ani do czego służą. Dlaczego nie użyć int lub unsigned int? (A co z innymi „podobnymi” typami? Void_t
Czy istnieje sposób na iterację po kluczach, a nie na parach map C
Czy ktoś może pobić wydajność mojej liczby całkowitej do kodu std :: string, połączonego poniżej? Jest już kilka pytań, które wyjaśniają, jak przekonwertować liczbę całkowitą na a std::stringw C ++, na przykład to , ale żadne z przedstawionych rozwiązań nie jest wydajne. Oto gotowy do kompilacji...
Dlaczego nie mogę tego zrobić? class A { public: int a, b; }; class B : public A { B() : A(), a(0), b(0) {
Ogólnie jestem nowy w programowaniu, więc zdecydowałem, że zacznę od stworzenia prostej klasy wektorowej w C ++. Jednak od samego początku chciałbym wypracować dobre nawyki, zamiast próbować później modyfikować mój przepływ pracy. Obecnie mam tylko dwa pliki vector3.hppi vector3.cpp. Ten projekt...
Przeszedłem przez tę stronę, ale nie mogę znaleźć powodu tego samego. Tam jest o tym mowa „bardziej rozsądne jest, aby nie zwracał żadnej wartości i wymagał od klientów używania metody front () w celu sprawdzenia wartości na początku kolejki” Ale sprawdzenie elementu z front () wymagało...
Mam tablicę wartości, które są przekazywane do mojej funkcji z innej części programu, którą muszę przechowywać do późniejszego przetworzenia. Ponieważ nie wiem, ile razy moja funkcja zostanie wywołana, zanim nadejdzie czas na przetworzenie danych, potrzebuję dynamicznej struktury pamięci, więc...
Chciałbym pisać aplikacje, które używają C ++ i frameworków Cocoa, ponieważ Apple nie obsługuje 64-bitowej wersji Carbon. C ++ wydaje się być dość waniliowy w swojej implementacji w Linuksie i Windowsie, ale w Mac OS X wydaje się, że wymagane są dodatkowe specyficzne dla Apple fragmenty kodu (takie...
Od jakiegoś czasu zajmuję się programowaniem, ale to głównie Java i C #. Właściwie nigdy nie musiałem samodzielnie zarządzać pamięcią. Niedawno zacząłem programować w C ++ i jestem trochę zdezorientowany, kiedy powinienem przechowywać rzeczy na stosie, a kiedy przechowywać je na stercie. Rozumiem,...
Często w C poniżej gcc, zacznę od następującego zestawu flag ostrzegawczych (boleśnie zebranych z wielu źródeł): -Wall -Wextra -Wformat-nonliteral -Wcast-align -Wpointer-arith -Wbad-function-cast \ -Wmissing-prototypes -Wstrict-prototypes -Wmissing-declarations -Winline -Wundef \ -Wnested-externs...
W niedawnym wywiadzie zadano mi naprawdę dziwne pytanie. Prowadzący wywiad zapytał mnie, jak mogę obliczyć 1 + 2 + 3 + ... + 1000 używając tylko funkcji kompilatora. Oznacza to, że nie wolno mi pisać programu i wykonywać go, ale powinienem po prostu napisać program, który mógłby zmusić kompilator...
Pytanie jest następujące: rozważ ten fragment kodu: #include <iostream> class aClass { public: void aTest(int a, int b) { printf("%d + %d = %d", a, b, a + b); } }; void function1(void (*function)(int, int)) { function(1, 1); } void test(int a,int b) { printf("%d - %d = %d", a , b ,...
Niedawno natknąłem się na dziwną dezoptymalizację (a raczej straciłem okazję do optymalizacji). Rozważ tę funkcję w celu wydajnego rozpakowywania tablic 3-bitowych liczb całkowitych na 8-bitowe liczby całkowite. Rozpakowuje 16 int w każdej iteracji pętli: void unpack3bit(uint8_t* target, char*...
Oto dokumentacja dotycząca cppreference , tutaj jest robocza wersja robocza. Muszę przyznać, że nie rozumiałem, jaki jest prawdziwy cel polymorphic_allocatori kiedy / dlaczego / jak mam go używać. Na przykład pmr::vectorma następujący podpis: namespace pmr { template <class T> using...
Mam sytuację, w której chciałbym, aby dwa przypadki w instrukcji przełącznika C ++ przechodziły do trzeciego przypadku. W szczególności druga sprawa przechodziłaby do trzeciej sprawy, a pierwsza sprawa również przechodziłaby do trzeciej sprawy bez przechodzenia przez drugą sprawę. Miałem głupi...
Deklarując szablon, jestem przyzwyczajony do posiadania tego rodzaju kodu: template <class T> Ale w tym pytaniu użyli: template <unsigned int N> Sprawdziłem, czy się kompiluje. Ale co to oznacza? Czy jest to parametr inny niż typ? A jeśli tak, jak możemy mieć szablon bez żadnego...
Szukam skutecznego sposobu na określenie pozycji najmniej znaczącego bitu, który jest ustawiony jako liczba całkowita, np. Dla 0x0FF0 byłoby to 4. Prosta implementacja jest taka: unsigned GetLowestBitPos(unsigned value) { assert(value != 0); // handled separately unsigned pos = 0; while...
Muszę obliczyć czas wykonania fragmentu kodu C ++ w sekundach. Musi działać na komputerach z systemem Windows lub Unix. Używam kodu następującego kodu, aby to zrobić. (zaimportuj przed) clock_t startTime = clock(); // some code here // to compute its execution duration in runtime cout <<...
Och, guru C ++, szukam twojej mądrości. Powiedz mi standardowym i powiedz mi, czy C ++ gwarantuje, że następujący program: #include <iostream> using namespace std; struct A { A() { cout << "A::A" << endl; } ~A() { cout << "A::~" << endl; } }; struct B { B() {...