Pytania oznaczone «c++11»

172
Czy jednolita inicjalizacja C ++ 11 zastępuje starą składnię?

Rozumiem, że jednolita inicjalizacja C ++ 11 rozwiązuje pewną dwuznaczność składniową w języku, ale w wielu prezentacjach Bjarne Stroustrupa (szczególnie podczas rozmów GoingNative 2012) jego przykłady używają tej składni przede wszystkim teraz, gdy buduje obiekty. Czy zaleca się teraz stosowanie...

140
Czy powinienem przestać używać terminu C / C ++?

Rozumiem, że C i C ++ są różnymi językami, ale kiedy uczyłem się C ++, zawsze mówiono mi, że C jest podzbiorem C ++ lub C ++ to C z klasami. I tak było do czasu pojawienia się C ++ x0, C ++ 11 (lub ogólnie C ++ 11/14/17). W rzeczywistości (szczególnie podczas pracy na systemach wbudowanych) bardzo...

122
Czy auto utrudnia zrozumienie kodu C ++?

Widziałem konferencję Herb Suttera, w której zachęca on każdego programistę C ++ do korzystania auto. Jakiś czas temu musiałem przeczytać kod C #, gdzie varbył intensywnie używany i kod był bardzo trudny do zrozumienia - za każdym razem varmusiałem sprawdzać typ zwrotu po prawej stronie. Czasem...

59
std :: shared_ptr jako ostateczność?

Właśnie oglądałem strumienie „Going Native 2012” i zauważyłem dyskusję std::shared_ptr. Byłem nieco zaskoczony, słysząc nieco negatywny pogląd Bjarne'a std::shared_ptri jego komentarz, że powinien on zostać użyty jako „ostateczność”, gdy czas życia obiektu jest niepewny (co, moim zdaniem, rzadko...

49
C ++ silnie typedef typedef

Próbowałem wymyślić sposób na zadeklarowanie silnie typowanych typów maszynopisów, aby złapać pewną klasę błędów na etapie kompilacji. Często zdarza się, że wpisuję int w kilku typach id lub wektorze do pozycji lub prędkości: typedef int EntityID; typedef int ModelID; typedef Vector3...

37
C ++ 11 zawiera std :: stoję, dlaczego nie std :: itos?

Z radością zauważyłem, że C ++ 11 ma std::sto@rodzinę funkcji do łatwego rozpakowywania ints / floats / longs cokolwiek z ciągów. Dziwi mnie jednak fakt, że przeciwieństwo nie zostało wdrożone. Dlaczego komitet normalizacyjny nie zawiera std::itosrodziny funkcji do przechodzenia od ints / floats /...

35
Jak przejść na C ++ 11?

Od jakiegoś czasu programuję w C ++, ale przede wszystkim koncentruję się wokół niskopoziomowych funkcji C ++. Rozumiem przez to głównie pracę ze wskaźnikami i surowymi tablicami. Myślę, że takie zachowanie jest znane jako używanie C ++ jako C z klasami. Mimo to wypróbowałem C dopiero niedawno....

29
Przewodnik po stylach dla C ++ [zamknięty]

Obecnie używam Przewodnika po stylu Google C ++ w kodzie C ++ i byłem z tego bardzo zadowolony. Ostatnio powiedziano mi, że ten przewodnik jest bardzo zły: jest używany wewnętrznie przez Google (wiedziałem o tym), jest nieaktualny i promuje niektóre bardzo złe praktyki. Chcę więc użyć innego stylu...

26
Czy kiedykolwiek jest źle oznaczać constexpr funkcji C ++?

Biorąc pod uwagę bardzo trywialną funkcję, int transform(int val) { return (val + 7) / 8; } Powinno być bardzo oczywiste, że łatwo jest przekształcić tę funkcję w constexprfunkcję, pozwalając mi jej używać podczas definiowania constexprzmiennych, tak jak: constexpr int transform(int val) {...

20
Motywacja i pułapki (?) Słowa kluczowego auto w C ++ 11

Ostatnio zastanawiałem się, dlaczego słowo kluczowe autozostało wybrane w C ++ 11 do oznaczenia zmiennej, której typ musi zostać wyprowadzony przez kompilator, jak w auto x = 1; Od var wydaje się bardziej powszechny w innych językach programowania (np. C #, Scala, JavaScript) i O ile rozumiem...