Pytania oznaczone «c++»

16
Czy używać flagi -edantic w g ++ czy nie?

Uczę się C ++ i używam g ++ na Linuksie do ćwiczeń. Chcę wiedzieć, czy ludzie pracujący jako programiści używają flagę g ++ -antic, a także jej znaczenie w świecie rzeczywistym. Co z innymi kompilatorami, czy one również na to pozwalają? Czy stało się to de facto standardem? Interesuje mnie...

16
Od czego zacząć naukę korzystania z bibliotek Boost?

Boost został niedawno udostępniony w projekcie, nad którym pracuję, i nie mam z nim dużego doświadczenia. Biblioteka ma tak wiele części i funkcji, że trudno jest wiedzieć, od czego zacząć ją uczyć - zwłaszcza, że ​​będę się jej uczył podczas tworzenia kodu produkcyjnego (więc nie może mnie to...

16
Jak skutecznie radzić sobie z ogromnymi projektami Linux / makefile?

Aplikacje Windows pracuję w C ++ od około 10 lat. Niedawno zacząłem zagłębiać się w niektóre projekty Linuksa i nie mogę znieść, jak jestem nieproduktywny ... Szybko się uczę i od pewnego czasu używam Linuksa jako podstawowej platformy. Czuję się bardzo dobrze z powłoką, zasadami systemu...

16
Idiomatyczne użycie wyjątków w C ++

Wyjątkiem isocpp.org FAQ Zjednoczone Nie używaj rzutu, aby wskazać błąd kodowania podczas używania funkcji. Użyj aser lub innego mechanizmu, aby albo wysłać proces do debugera, albo zawiesić proces i zebrać zrzut awaryjny dla programisty do debugowania. Z drugiej strony standardowa biblioteka...

16
Funkcje C ++ „całego zespołu”?

W C ++ funkcje takie jak wyjątki wpływają na cały program: możesz je wyłączyć w całym programie lub musisz postępować z nimi w całym kodzie. W słynnym artykule na temat C ++ Report : Wbrew intuicji, trudną częścią kodowania wyjątków nie są jawne rzucanie i łapanie. Naprawdę trudną częścią...

16
Dlaczego C ++ jest nadal „hybrydowy”

W pokrewnym pytaniu wyjaśniono, dlaczego C ++ nie jest kompatybilny z C w wielu aspektach. Jednak C ++ jest nadal językiem „hybrydowym” *. I niestety wielu programistów nadal uważa C ++ za „C ze strumieniami i wbudowanymi łańcuchami”. Powoduje to naprawdę źle napisany kod, który nie jest ani C ++...

16
Kiedy powinienem używać string_view w interfejsie?

Korzystam z biblioteki wewnętrznej, która została zaprojektowana tak, aby naśladować proponowaną bibliotekę C ++ , a czasami w ciągu ostatnich kilku lat widzę, że jej interfejs zmienił się z używania std::stringna string_view. Dlatego sumiennie zmieniam kod, aby dostosować się do nowego...

16
Dlaczego umieszczamy funkcje członka prywatnego w nagłówkach?

Odpowiedź na pytanie, dlaczego umieszczamy prywatne zmienne składowe w nagłówkach C ++, jest taka, że ​​rozmiar klasy musi być znany w punktach, w których deklarowane są instancje, aby kompilator mógł wygenerować kod, który odpowiednio porusza się po stosie. Dlaczego musimy umieszczać prywatnych...

15
Co to jest zanieczyszczenie „używaniem przestrzeni nazw”?

Patrzyłem na przewodnik kodowania google [tutaj] i nie zaleca się używania using namespacelub namespace::function- jeśli nie źle go zinterpretowałem. Czy dotyczy to stdrównież? cout<<bez niego nie działa. Ta książka poleca to samo. Jak więc korzystać z cout<<bez using namespace std;lub...

15
size_t lub int dla wymiarów, indeksu itp

W C ++ size_t(lub, bardziej poprawnie, T::size_typektóry jest „zwykle” size_t; tj. unsignedTyp) jest używany jako wartość zwracana dla size()argumentu argumentu operator[]itd. (Patrz std::vector, i in.) Z drugiej strony języki .NET używają int(i opcjonalnie long) do tego samego celu; w...

15
Jak doszło do std :: vector <bool>?

Obecnie praktycznie wszyscy programiści C ++ zgadzają się, że std::vector<bool>to pomyłka, ponieważ nie jest to pojemnik, a jego przypadki użycia w dużej mierze pokrywają się z przypadkami tego std::bitset. Jak zagłosowano na standard? Czy wówczas było to kontrowersyjne? Jakie były główne...

15
Czy WinRT można naprawdę używać tylko na granicy?

Microsoft (głównie Herb Sutter ) zaleca używanie WinRT z C ++ / CX, aby utrzymać WinRT na granicy aplikacji i zachować rdzeń aplikacji napisany w standardowym ISO C ++. Piszę aplikację, którą chciałbym pozostawić przenośną, więc moja podstawowa funkcjonalność została napisana w standardowym C ++,...