Załóżmy, że mam kilka instrukcji, które chcę wykonać w ustalonej kolejności. Chcę używać g ++ z poziomem optymalizacji 2, aby można było zmienić kolejność niektórych instrukcji. Jakie narzędzia są potrzebne, aby wymusić określony porządek oświadczeń? Rozważmy następujący przykład. using Clock = std::chrono::high_resolution_clock; auto t1 = Clock::now(); // Statement 1 foo(); …
Właśnie odkryłem ten stary szkic C ++ 0x o modułach w C ++ 0x. Pomysł polegał na tym, aby wyjść z obecnego systemu .h / .cpp, zapisując tylko pliki .cpp, które następnie generowałyby pliki modułów podczas kompilacji, które z kolei byłyby używane przez inne pliki .cpp. To wygląda na naprawdę …
Przeglądając aktualną implementację nowych nagłówków C ++ 11 w gcc, natknąłem się na token „......”. Możesz sprawdzić, czy poniższy kod kompiluje się dobrze [przez ideone.com]. template <typename T> struct X { /* ... */ }; template <typename T, typename ... U> struct X<T(U......)> // this line is the important one …
Byłem ciekawy, jak std:next_permutationzostał zaimplementowany, więc wyodrębniłem gnu libstdc++ 4.7wersję i wyczyściłem identyfikatory i formatowanie, aby utworzyć następujące demo ... #include <vector> #include <iostream> #include <algorithm> using namespace std; template<typename It> bool next_permutation(It begin, It end) { if (begin == end) return false; It i = begin; ++i; if (i …
Jestem początkującym C ++, ale nie jestem początkującym programistą. Próbuję nauczyć się C ++ (c ++ 11) i jest dla mnie niejasne, najważniejsze: przekazywanie parametrów. Rozważyłem te proste przykłady: Klasa, która ma wszystkie składowe typy pierwotne: CreditCard(std::string number, int expMonth, int expYear,int pin):number(number), expMonth(expMonth), expYear(expYear), pin(pin) Klasa, która ma jako …
Czytam http://gcc.gnu.org/onlinedocs/libstdc++/manual/shared_ptr.html i niektóre problemy z bezpieczeństwem wątków nadal nie są dla mnie jasne: Standardowo gwarantuje, że zliczanie referencji jest obsługiwane wątkowo i niezależne od platformy, prawda? Podobny problem - standardowa gwarancja, że tylko jeden wątek (trzymający ostatnią referencję) wywoła delete na udostępnionym obiekcie, prawda? shared_ptr nie gwarantuje żadnego bezpieczeństwa …
Rozważ następującą wbudowaną funkcję: // Inline specifier version #include<iostream> #include<cstdlib> inline int f(const int x); inline int f(const int x) { return 2*x; } int main(int argc, char* argv[]) { return f(std::atoi(argv[1])); } i odpowiednik w wersji constexpr: // Constexpr specifier version #include<iostream> #include<cstdlib> constexpr int f(const int x); constexpr …
Po prostu stwierdziłem, że nie w pełni rozumiem logikę std::move(). Na początku wyszukałem go w Google, ale wydaje się, że są tylko dokumenty o tym, jak używać std::move(), a nie o tym , jak działa jego struktura. Chodzi mi o to, że wiem, jaka jest funkcja elementu członkowskiego szablonu, ale …
Czy biblioteka standardowa C ++ 11 zapewnia narzędzie do konwersji z formatu a std::shared_ptrna std::unique_ptrlub odwrotnie? Czy to bezpieczna operacja?
Czy istnieje sposób na wykrycie w czasie kompilacji, czy kompilator obsługuje niektóre funkcje C ++ 11? Na przykład coś takiego: #ifndef VARIADIC_TEMPLATES_SUPPORTED #error "Your compiler doesn't support variadic templates. :(" #else template <typename... DatatypeList> class Tuple { // ... } #endif
Czy w przypadku C ++ 11 std::arraymam gwarancję, że składnia std::array<T, N> x;będzie domyślnie inicjowała wszystkie elementy tablicy? EDYCJA : jeśli nie, czy istnieje składnia, która będzie działać na wszystkich tablicach (w tym tablicach o rozmiarze zerowym), aby zainicjować wszystkie elementy do ich wartości domyślnych? EDYCJA : w cppreference , …
Komitet Standardów C ++ ma tendencję do unikania dodawania nowych słów kluczowych do języka, jednak w przypadku C ++ 11 tak nie było. Kilka przykładów: constexpr decltype thread_local auto // New usage noexcept nullptr static_assert alignof alignas Czy w C ++ 14 wprowadzono jakieś nowe słowa kluczowe?
Jestem bardzo sfrustrowany po kilku godzinach prób znalezienia lokalizacji shared_ptr. Żaden z przykładów, które widzę, nie pokazuje pełnego kodu zawierającego nagłówki shared_ptr(i działające). Po prostu stwierdzając std, tr1i <memory>nie pomaga w ogóle! Pobrałem doładowania i wszystko, ale nadal się nie pojawiają! Czy ktoś może mi pomóc, podając dokładnie, gdzie go …
Wersja skrócona: w wielu językach programowania często zwraca się duże obiekty - takie jak wektory / tablice -. Czy ten styl jest teraz akceptowalny w C ++ 0x, jeśli klasa ma konstruktor ruchu, czy programiści C ++ uważają go za dziwny / brzydki / obrzydliwy? Wersja długa: czy w C …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.