Pytania oznaczone «c++»

350
Czy muszę jawnie wywoływać podstawowy wirtualny destruktor?

Podczas nadpisywania klasy w C ++ (za pomocą wirtualnego destruktora) implementuję ponownie destruktor jako wirtualny w klasie dziedziczącej, ale czy muszę wywoływać podstawowy destruktor? Jeśli tak, to wyobrażam sobie, że to coś takiego ... MyChildClass::~MyChildClass() // virtual in header {...

348
Jak dokładnie działa __attribute __ ((konstruktor))?

Wydaje się całkiem jasne, że ma to wszystko skonfigurować. Kiedy dokładnie działa? Dlaczego są dwa nawiasy? Jest __attribute__funkcją? Makro? Składnia? Czy to działa w C? C ++? Czy funkcja, z którą współpracuje, musi być statyczna? Kiedy działa __attribute__((destructor))? Przykład w celu C...

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

Myślę, że to trochę subiektywne; Nie jestem pewien, czy opinia będzie jednomyślna (widziałem wiele fragmentów kodu, w których zwracane są odwołania). Zgodnie z komentarzem do tego pytania, które właśnie zadałem, dotyczące inicjowania referencji , zwracanie referencji może być złe, ponieważ [jak...

337
Dlaczego C ++ nie ma odbicia?

To dość dziwne pytanie. Moim celem jest zrozumienie decyzji dotyczącej projektu języka i identyfikacja możliwości refleksji w C ++. Dlaczego komitet językowy C ++ nie zdecydował się na wdrożenie refleksji w języku? Czy odbicie jest zbyt trudne w języku, który nie działa na maszynie wirtualnej...

337
Kiedy należy używać funkcji constexpr w C ++ 11?

Wydaje mi się, że posiadanie „funkcji, która zawsze zwraca 5”, łamie lub osłabia znaczenie „wywoływania funkcji”. Musi być jakiś powód lub potrzeba takiej możliwości, inaczej nie byłoby w C ++ 11. Dlaczego tam jest // preprocessor. #define MEANING_OF_LIFE 42 // constants: const int MeaningOfLife...

335
std :: string to char *

Chcę przekonwertować std :: string na typ danych char * lub char [] . std::string str = "string"; char* chr = str; Powoduje: „błąd: nie można przekonwertować 'std :: string' na 'char' ...” . Jakie są dostępne metody, aby to

334
Do czego służą wbudowane przestrzenie nazw?

C ++ 11 zezwala na inline namespaces, których wszyscy członkowie są również automatycznie dołączani namespace. Nie mogę wymyślić żadnego przydatnego zastosowania tego - czy ktoś mógłby podać krótki, zwięzły przykład sytuacji, w której jest inline namespaceto potrzebne i gdzie jest to najbardziej...