Pytania oznaczone «c++»

276
Różnica w make_shared i normal shared_ptr w C ++

std::shared_ptr<Object> p1 = std::make_shared<Object>("foo"); std::shared_ptr<Object> p2(new Object("foo")); Wiele postów z Google i Stackoverflow jest na ten temat, ale nie jestem w stanie zrozumieć, dlaczego make_sharedjest bardziej wydajny niż bezpośrednie korzystanie...

276
Członkowie prywatni i chronieni: C ++

Czy ktoś może mnie oświecić co do różnicy między privatei protectedczłonków w zajęciach? Rozumiem z konwencji najlepszych praktyk, które zmienne i funkcje, które nie są nazywane poza klasą należy private- ale patrząc na moje MFC projektu MFC wydaje korzyść protected. Jaka jest różnica i którego...

276
Jak działają malloc () i free ()?

Chcę wiedzieć jak malloci freepracować. int main() { unsigned char *p = (unsigned char*)malloc(4*sizeof(unsigned char)); memset(p,0,4); strcpy((char*)p,"abcdabcd"); // **deliberately storing 8bytes** cout << p; free(p); // Obvious Crash, but I need how it works and why crash. cout...

270
Dlaczego C ++ nie ma śmietnika?

Nie zadaję tego pytania przede wszystkim ze względu na zalety zbierania śmieci. Moim głównym powodem, dla którego o to pytam, jest to, że wiem, że Bjarne Stroustrup powiedział, że C ++ będzie miało w pewnym momencie moduł wyrzucający śmieci. To powiedziawszy, dlaczego nie zostało dodane? Istnieje...

269
Jak uzyskać katalog, z którego działa program?

Czy istnieje metoda niezależna od platformy i metoda niezależna od systemu plików, aby uzyskać pełną ścieżkę do katalogu, w którym program działa przy użyciu C / C ++? Nie mylić z bieżącym katalogiem roboczym. (Proszę nie sugerować bibliotek, chyba że są to standardowe biblioteki, takie jak clib...

267
Jak zakończyć kod C ++

Chciałbym, aby mój kod C ++ przestał działać, jeśli zostanie spełniony określony warunek, ale nie jestem pewien, jak to zrobić. Więc w dowolnym momencie, jeśli ifinstrukcja jest prawdziwa, zakończ kod w następujący sposób: if (x==1) { kill

266
Jak uniknąć łańcuchów „jeśli”?

Zakładając, że mam ten pseudo-kod: bool conditionA = executeStepA(); if (conditionA){ bool conditionB = executeStepB(); if (conditionB){ bool conditionC = executeStepC(); if (conditionC){ ... } } } executeThisFunctionInAnyCase(); Funkcje executeStepXpowinny być wykonywane tylko wtedy, gdy...