c++-faq

Dlaczego warto zastąpić domyślne nowe i usunąć operatory?

Dlaczego należy zastąpić domyślny operator new i delete niestandardowymi operatorami new i delete? Jest to kontynuacja p ... w pierwszej kolejności, więc Twoja odpowiedź jest bardzo prawdopodobne, aby przeczytać przez tych, którzy wymyślili pomysł.)

Jak powstrzymać natychmiastowe opuszczanie aplikacji konsolowej C++?

Ostatnio próbowałem nauczyć się C++ z tej strony. Niestety za każdym razem, gdy próbuję uruchomić jeden z próbek kodu, widzę ... t się zamyka. Czy istnieje sposób, aby zatrzymać natychmiastowe zamknięcie programu, abym mógł zobaczyć owoce mojego wysiłku?

Jak przeciążać std:: swap()

std::swap() jest używany przez wiele kontenerów std (takich jak std::list i std::vector) podczas sortowania, a nawet przypisy ... ) z niestandardową implementacją specyficzną dla typu. Ale jak można go zaimplementować, aby był używany przez kontenery std?

Dlaczego "to" jest wskaźnikiem, a nie odniesieniem?

Czytałem odpowiedzi na to pytanie C++ plusy i minusy i miałem wątpliwości podczas czytania komentarzy. Programiści często ... . Po Trzecie, składnia dostępu do referencji (.) jest trochę ładniejsza i krótszy niż dostęp do wskaźników (-> lub (*)).

Jaka jest właściwa deklaracja main?

Jaka jest prawidłowa sygnatura funkcji main W C++? Jaki jest prawidłowy typ zwracania i co oznacza zwracanie wartości z main? ... ie są ich znaczenia? Czy ten system jest specyficzny? Czy te zasady zmieniły się w czasie? Co się stanie, jeśli je naruszę?

Kiedy zrobić Typ nie-ruchomy w C++11?

Byłem zaskoczony, że to nie pojawia się w moich wynikach wyszukiwania, myślałem, że ktoś już o to pytał, biorąc pod uwagę prz ... dobry pomysł) zrobić klasę nie-ruchomą w C++11? (powody Inne niż problemy z kompatybilnością z istniejącym kodem, czyli.)

Po co nam dziedziczenie prywatne lub chronione w C++?

W C++ nie przychodzi mi do głowy przypadek, w którym chciałbym dziedziczyć private / protected od klasa bazowa: class Base; class Derived1 : private Base; class Derived2 : protected Base; Czy to naprawdę przydatne?

Jakich idiomów C++ powinni używać Programiści C++? [zamknięte]

Jakie idiomy C++ powinni znać Programiści C++? Przez idiomy C++, mam na myśli wzorce projektowe lub sposób robienia pewnych ... ko do C++ lub bardziej odpowiednie dla C++ niż większość innych języków. Dlaczego warto używać idiomów i co idiomy osiągają?

Wyjaśnij C++ programistom spoza C++

Co to jest SFINAE w C++? Czy możesz to wyjaśnić słowami zrozumiałymi dla programisty, który nie jest zaznajomiony z C++? Ponadto, jakie pojęcie w języku takim jak Python odpowiada SFINAE?

Przekazywanie współdzielonych wskaźników jako argumentów

Jeśli zadeklaruję obiekt zawinięty w współdzielony Wskaźnik: std::shared_ptr<myClass> myClassObject(new myClass()); ... j czytelne i nie przewiduję przesuwania limitów wydajności. Chcę się upewnić, że nie ma w tym nic niebezpiecznego. Dziękuję.

Kiedy dodatkowe nawiasy mają wpływ, inny niż na pierwszeństwo operatora?

Nawiasy w C++ są używane w wielu miejscach: np. w wywołaniach funkcji i wyrażeniach grupujących w celu nadpisania pierwszeńst ... . Podobnie, użycie nawiasów wewnątrz definicji makr preprocesora również chroni przed niepożądanym pierwszeństwem operatora.

Co to jest "span" i kiedy należy go używać?

Ostatnio dostałem sugestie, aby użyć span<T> 's W moim kodzie, lub widziałem kilka odpowiedzi tutaj na stronie, które u ... o to jest ten tajemniczy span<T> i dlaczego (lub kiedy) jest to dobry pomysł, aby go używać, jeśli jest niestandardowy?

Czym są przezroczyste komparatory?

W C++14 kontenery asocjacyjne wydają się być zmienione z C++11 – [asocjacyjne.reqmts]/13 says: Szablony funkcji Członkow ... blonu std::set są nadal Key, Compare = std::less<Key>, ..., więc domyślny zestaw traci swój find, count, itd. członków?

Jak serializować obiekt w C++?

Mam małą hierarchię obiektów, które muszę serializować i transmitować przez gniazdo. Muszę zarówno serializować obiekt, a na ... ci, Szukam metod konwersji obiektu do tablicy bajtów, a następnie z powrotem do obiektu. Poradzę sobie z Gniazdo transmisji.

Funkcja o tej samej nazwie, ale inna sygnatura w klasie pochodnej

Mam funkcję o tej samej nazwie, ale z innym podpisem w klasach bazowych i pochodnych. Kiedy próbuję użyć funkcji klasy bazowe ... s are: int B::foo(int) Jeśli usunę {[2] } z klasy B lub zmienię jej nazwę z foo1, Wszystko działa dobrze. W czym problem?

Jakie są wszystkie funkcje Członkowskie tworzone przez kompilator dla klasy? Czy to się zdarza cały czas?

Jakie są wszystkie funkcje Członkowskie tworzone przez kompilator dla klasy? Czy to się zdarza cały czas? jak Destruktor. Moim zmartwieniem jest to, czy jest on tworzony dla wszystkich klas i dlaczego potrzebny jest domyślny konstruktor?

Najlepsze praktyki dla operacji circular shift (rotate) w C++

Operatory zmiany lewej i prawej (>) są już dostępne w C++. Nie mogłem jednak dowiedzieć się, w jaki sposób mogę wykonywać ... ć do więcej niż tylko jednej instrukcji obracania maszyny. Odpowiedź na to pytanie powinna dokumentować najlepsze praktyki.)

Niszczenie obiektów w C++

Kiedy dokładnie obiekty są niszczone w C++ i co to oznacza? Czy muszę je zniszczyć ręcznie, skoro nie ma Garbage Collector? J ... e pojawił się pomysł FAQ, więc Twoja odpowiedź prawdopodobnie zostanie przeczytana przez tych, którzy wpadli na ten pomysł.)