C ++ 11 wprowadził ustandaryzowany model pamięci, ale co to dokładnie znaczy? Jak to wpłynie na programowanie w C ++? Ten artykuł (autorstwa Gavina Clarke'a, który cytuje Herb Sutter ) mówi, że: Model pamięci oznacza, że kod C ++ ma teraz znormalizowaną bibliotekę do wywołania, niezależnie od tego, kto stworzył …
Rozważ główną oś i oś poprzeczną elastycznego pojemnika: Źródło: W3C Aby wyrównać elementy elastyczne wzdłuż głównej osi, istnieje jedna właściwość: justify-content Aby wyrównać elementy elastyczne wzdłuż osi poprzecznej, istnieją trzy właściwości: align-content align-items align-self Na powyższym zdjęciu główna oś jest pozioma, a oś poprzeczna pionowa. Są to domyślne kierunki elastycznego …
Ile wskaźników ( *) jest dozwolonych w jednej zmiennej? Rozważmy następujący przykład. int a = 10; int *p = &a; Podobnie możemy mieć int **q = &p; int ***r = &q; i tak dalej. Na przykład, int ****************zz;
Może nie jestem z tej planety, ale wydaje mi się, że następujący błąd powinien być błędem składni: int a[] = {1,2,}; //extra comma in the end Ale nie jest. Byłem zaskoczony, gdy ten kod został skompilowany w Visual Studio, ale nauczyłem się nie ufać kompilatorowi MSVC, jeśli chodzi o zasady …
Czy jest możliwe, aby kod C ++ był zgodny zarówno ze standardem C ++ 03, jak i standardem C ++ 11 , ale robi różne rzeczy w zależności od tego, w ramach którego standardu jest kompilowany?
Jedno z moich dzieci bierze Javę w szkole średniej i miało to na jednym ze swoich testów: Który z poniższych elementów jest prawidłowym identyfikatorem w Javie? za. 123java b. main do. java1234 re. {abce mi. )whoot Odpowiedział b i pomylił się. Spojrzałem na pytanie i argumentowałem, że main jest to …
Czytałem o naruszeniach kolejności oceny , a oni dają przykład, który mnie zastanawia. 1) Jeśli efekt uboczny na obiekcie skalarnym nie jest sekwencjonowany względem innego efektu ubocznego na tym samym obiekcie skalarnym, zachowanie jest niezdefiniowane. // snip f(i = -1, i = -1); // undefined behavior W tym kontekście ijest …
Przez małą literówkę przypadkowo znalazłem ten konstrukt: int main(void) { char foo = 'c'; switch(foo) { printf("Cant Touch This\n"); // This line is Unreachable case 'a': printf("A\n"); break; case 'b': printf("B\n"); break; case 'c': printf("C\n"); break; case 'd': printf("D\n"); break; } return 0; } Wygląda printfna to, że górna część …
Zanim zaczniesz krzyczeć niezdefiniowane zachowanie, jest to wyraźnie wymienione w N4659 (C ++ 17) i = i++ + 1; // the value of i is incremented Jeszcze w N3337 (C ++ 11) i = i++ + 1; // the behavior is undefined Co się zmieniło? Z tego, co mogę zebrać, …
Jest dość głupi problem z liczbą pi w C i C ++. O ile wiem, M_PIdefinicja w math.hnie jest wymagana przez żaden standard. Nowe normy C ++ wprowadzono wiele skomplikowanych matematycznych w bibliotece standardowej - funkcje hiperboliczne, std::hermitei std::cyl_bessel_i, różnych generatorów liczb losowych i tak dalej i tak dalej. Czy …
Czy specyfikacja C ++ definiuje: istnienie operatora „mniejsze niż” dla parametrów logicznych, a jeśli tak, wynik permutacji 4 parametrów? Innymi słowy, czy wyniki następujących operacji są zdefiniowane w specyfikacji? false < false false < true true < false true < true W mojej konfiguracji (Centos 7, gcc 4.8.2) poniższy kod …
Zaktualizowano, patrz poniżej! Słyszałem i przeczytałem, że C ++ 0x umożliwia kompilatorowi wydrukowanie „Hello” dla następującego fragmentu kodu #include <iostream> int main() { while(1) ; std::cout << "Hello" << std::endl; } Najwyraźniej ma to coś wspólnego z wątkami i możliwościami optymalizacji. Wydaje mi się jednak, że może to zaskoczyć wielu …
Odpowiadając na inne pytanie, natknąłem się na nieco inne sformułowania dla std::vector::erase()i std::deque::erase(). Oto, o czym mówi C ++ 14 std::deque::erase( [deque.modifiers]/4-6wyróżnienie moje): Efekty: ... Złożoność: liczba wywołań do destruktora jest taka sama, jak liczba usuniętych elementów, ale liczba wywołań operatora przypisania jest nie większa niż mniejsza z liczby elementów …
Zgodnie z zaakceptowaną (i jedyną) odpowiedzią na to pytanie dotyczące przepełnienia stosu , Definiowanie konstruktora za pomocą MyTest() = default; zamiast tego wyzeruje obiekt. W takim razie dlaczego następujące #include <iostream> struct foo { foo() = default; int a; }; struct bar { bar(); int b; }; bar::bar() = default; …
Przeglądając kilka pytań do wywiadu w C, znalazłem pytanie "Jak znaleźć rozmiar tablicy w C bez użycia operatora sizeof?", Z następującym rozwiązaniem. Działa, ale nie mogę zrozumieć, dlaczego. #include <stdio.h> int main() { int a[] = {100, 200, 300, 400, 500}; int size = 0; size = *(&a + 1) …
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.