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ł …
Właśnie skończyłem słuchać wywiadu radiowego podcastu Software Engineering ze Scottem Meyersem na temat C ++ 0x . Większość nowych funkcji ma dla mnie sens i jestem podekscytowany C ++ 0x, z wyjątkiem jednej. Nadal nie dostaję semantyki ruchu ... Co to dokładnie jest?
Pochodzę z środowiska Java i zacząłem pracować z obiektami w C ++. Ale jedną rzeczą, która przyszła mi do głowy, jest to, że ludzie często używają wskaźników do obiektów, a nie samych obiektów, na przykład ta deklaracja: Object *myObject = new Object; zamiast: Object myObject; Lub zamiast używać funkcji, powiedzmy …
Co to jest wyrażenie lambda w C ++ 11? Kiedy miałbym go użyć? Jakiego rodzaju problemy rozwiązują, które nie były możliwe przed ich wprowadzeniem? Przydałoby się kilka przykładów i przypadków użycia.
W C ++ 03 wyrażenie to albo wartość, albo wartość . W C ++ 11 wyrażenie może być: wartość r wartość xvalue glvalue prvalue Dwie kategorie stały się pięcioma kategoriami. Jakie są te nowe kategorie wyrażeń? Jak te nowe kategorie odnoszą się do istniejących kategorii wartości i wartości? Czy kategorie …
Wiem, że w C ++ 11 możemy teraz używać usingdo pisania aliasu typu, takiego jak typedefs: typedef int MyInt; Z tego, co rozumiem, jest równoważne z: using MyInt = int; Ta nowa składnia powstała w wyniku wysiłku, aby wyrazić „ template typedef”: template< class T > using MyType = AnotherType< …
Przyglądałem się niektórym nowym funkcjom C ++ 11 i zauważyłem, że podwójny znak & w deklaracji zmiennych, takich jak T&& var. Na początek, jak nazywa się ta bestia? Chciałbym, aby Google umożliwił nam wyszukiwanie takich znaków interpunkcyjnych. Co to dokładnie znaczy? Na pierwszy rzut oka wydaje się, że jest to …
Jestem trochę zdezorientowany co do różnicy między push_backi emplace_back. void emplace_back(Type&& _Val); void push_back(const Type& _Val); void push_back(Type&& _Val); Ponieważ istnieje push_backprzeciążenie przyjmujące odwołanie do wartości, nie bardzo rozumiem, jaki jest cel emplace_back?
Słyszałem niedawno rozmowę przez Herb Sutter, który zasugerował, że powody, aby przejść std::vectori std::stringprzez const &są w dużej mierze zniknęły. Zasugerował, że lepiej jest teraz napisać funkcję taką jak poniżej: std::string do_something ( std::string inval ) { std::string return_val; // ... do stuff ... return return_val; } Rozumiem, że return_valbędzie …
Mamy teraz C ++ 11 z wieloma nowymi funkcjami. Ciekawym i mylącym (przynajmniej dla mnie) jest nowy nullptr. Cóż, nie trzeba już nieprzyjemnego makra NULL. int* x = nullptr; myclass* obj = nullptr; Nadal nie rozumiem, jak nullptrdziała. Na przykład artykuł w Wikipedii mówi: C ++ 11 naprawia to, wprowadzając …
To FAQ dotyczy agregatów i POD i obejmuje następujące materiały: Co to są agregaty ? Co to są POD (zwykłe stare dane)? W jaki sposób są one powiązane? Jak i dlaczego są wyjątkowe? Jakie zmiany w C ++ 11?
Jakie są reguły unieważniania iteratora dla kontenerów C ++? Najlepiej w formie listy podsumowującej. (Uwaga: ma to być wpis do często zadawanych pytań na temat C ++ w programie Stack Overflow . Jeśli chcesz skrytykować pomysł podania w tym formularzu odpowiedzi na najczęściej zadawane pytania, to miejsce na meta, które …
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.