c++-faq

Jakie są różnice między strukturą a klasą w C++?

To pytanie było już zadawane w kontekście C#/. Net. Teraz chciałbym poznać różnice między strukturą a klasą w C++. Prosimy ... ą domyślnie prywatni. I ' m oczywiście istnieją inne różnice, które można znaleźć w niejasnych narożnikach specyfikacji C++.

Dlaczego iostream:: eof wewnątrz warunku pętli jest uważany za niewłaściwy?

Właśnie znalazłem komentarz w tej odpowiedzi mówiącej, że używanie iostream::eof w warunku pętli jest "prawie na pewno złe" ... używa iostream::eof jest złe? Czym się różni od używania scanf("...",...)!=EOF w C (którego często używam bez problemów)?

Czy praktyka zwracania zmiennej referencyjnej C++ jest zła?

To jest trochę subiektywne myślę, nie jestem pewien, czy opinia będzie jednomyślna(widziałem wiele fragmentów kodu, gdzie odn ... ie inteligentnych / współdzielonych wskaźników jest ogólnie akceptowane jako najlepszy sposób na uniknięcie wycieków pamięci.

Jakie idiomy C++ są przestarzałe w C++11?

Z nowym standardem, są nowe sposoby robienia rzeczy, i wiele z nich są ładniejsze niż stare sposoby, ale stary sposób jest na ... i co możemy teraz zrobić zamiast tego? Odpowiadając na to, możesz pominąć oczywiste rzeczy, takie jak "użyj zmiennych auto".

Co to jest "rvalue reference for * this"?

W clang ' s C++11 status page pojawiła się propozycja o nazwie "rvalue reference for *this". Przeczytałem sporo o referencja ... zycją: N2439 (Rozszerzenie semantyki move NA *this), ale też nie dostaję stamtąd zbyt wielu przykładów. Co to jest temat?

Jakiego rodzaju wskaźnika użyć kiedy?

Ok, więc ostatnim razem, kiedy pisałem C++, std::auto_ptr było wszystko, co było dostępne, i boost::shared_ptr było wściekłoś ... dotyczące durnych wskaźników (raw pointers jak T*) i resztę boost Inteligentne Wskaźniki. (Coś w rodzaju to byłoby świetne).

Wskaźnik do członka danych klasy "::*"

Natknąłem się na dziwny fragment kodu, który dobrze kompiluje: class Car { public: int speed; }; int main() { ... C++ ma ten wskaźnik do niestatycznego elementu danych klasy? Jakie jest użycie tego dziwnego wskaźnika w prawdziwym kodzie?

Dlaczego użycie "nowego" bo wycieki pamięci?

Najpierw nauczyłem się C#, a teraz zaczynam od C++. Jak rozumiem operator new W C++ nie jest podobny do tego w C#. Czy możes ... ycieku pamięci w tym przykładowym kodzie? class A { ... }; struct B { ... }; A *object1 = new A(); B object2 = *(new B());

Jakie są dostępne implementacje C++ Smart Pointer?

Porównania, Plusy, Minusy i kiedy używać? Jest to spin-off z wątku garbage collection gdzie to, co myślałem, że jest prostą ... orzystania i zrozumienia istniejących implementacji już powszechnie w użyciu i ostatecznie z porządnym odniesieniem do i inni

Jak efektywnie wybrać kontener biblioteki standardowej w C++11?

Jest dobrze znany obraz (Ściągawka) o nazwie "C++ Container choice". Jest to SCHEMAT BLOKOWY, aby wybrać najlepszy pojemnik do pożądanego zastosowania. Czy ktoś wie czy jest już Wersja C++11? To jest poprzedni:

Polimorfizm w c++

AFAIK: C++ zapewnia trzy różne typy polimorfizmu. funkcje wirtualne Nazwa funkcji przeciążenie Operator przeciążenia ... możliwe, na przykładzie? Mam nadzieję, że odpowiedzi na te pytania będą pomocne dla wielu nowych przepustek z thier College.

Co to jest ta dziwna składnia dwukropka ( " :") w konstruktorze?

Ostatnio widziałem taki przykład: #include <iostream> class Foo { public: int bar; Foo(int num): bar(num) {}; }; ... świecić. A tak przy okazji, czy są jakieś inne cechy języka ezoterycznego, jakich nigdy nie znajdziesz w zwykłej książce C++?

Co oznaczają następujące frazy w C++: Zero -, default-I value-initialization?

Co oznaczają następujące wyrażenia w C++: Zero-inicjalizacja, Default-initialization oraz Wartość-inicjalizacja Co powinien o nich wiedzieć Programista C++?

Dlaczego Lotny nie jest uważany za przydatny w programowaniu wielowątkowym C lub c++?

Jak pokazano w ta odpowiedź, którą ostatnio opublikowałem, wydaje mi się, że jestem zdezorientowany co do użyteczności (lub ... wątkowych, dostęp z obciążeniem zabezpieczonym pamięcią, co jest prawdopodobnie lepszym rozwiązaniem). Jak i gdzie się mylę?

Co to jest curiously recurring template pattern (CRTP)?

Bez odwoĹ 'ania do ksiÄ ... Ĺźki, czy ktoĹ" moĹźe podaÄ ‡ dobre wyjaĹ "nienie CRTP przykĹ' adem kodu?

Prawidłowe użycie stosu i sterty w C++?

Od jakiegoś czasu programuję, ale to głównie Java i C#. Nigdy nie musiałem sam zarządzać pamięcią. Niedawno zacząłem programo ... obiekty, rzadko używane zmienne i duże struktury danych powinny być przechowywane na stosie. Czy to prawda czy nie mam racji?

Jak to możliwe, że odniesienie nie-const nie może powiązać z obiektem tymczasowym?

Dlaczego nie można uzyskać odniesienia non-const do obiektu tymczasowego, która Funkcja getx() zwraca? Oczywiście jest to za ... My dodatkowe pytanie . Czy następujące przypisanie wydłuża żywotność obiektu tymczasowego? X& x = getx().ref(); // OK

Co to jest "Wyszukiwanie zależne od argumentów" (aka ADL lub "wyszukiwanie Koenig")?

Jakie są dobre wyjaśnienia na temat tego, co to jest argument dependent lookup? Wiele osób również nazywa go Koenig Lookup. Najlepiej chciałbym wiedzieć: Dlaczego to jest dobre? Dlaczego to jest złe? Jak to działa?

Dlaczego Klasa enum jest preferowana zamiast zwykłego enum?

Słyszałem kilka osób zalecających używanie klas enum W C++ ze względu na ich bezpieczeństwo typu . Ale co to tak naprawdę znaczy?

Dlaczego Lotny istnieje?

Do czego służy słowo kluczowe volatile? W C++ jaki problem rozwiązuje? W moim przypadku nigdy świadomie tego nie potrzebowałem.