Pytania oznaczone «c++»

84
Czy operator rzutowania może być jawny?

Jeśli chodzi o konstruktory, dodanie słowa kluczowego explicituniemożliwia entuzjastycznemu kompilatorowi utworzenie obiektu, gdy nie było to pierwszym zamiarem programisty. Czy taki mechanizm jest dostępny również dla operatorów odlewów? struct Foo { operator std::string() const; }; Tutaj,...

84
Odpowiednik #region dla C ++

Jaki jest odpowiednik #region w C ++ dla C ++, więc mogę umieścić w kodzie niestandardowym zwijane bity i sprawić, że mój kod będzie trochę łatwiejszy do odczytania?

84
Ponownie używasz przeniesionego kontenera?

Jaki jest prawidłowy sposób ponownego wykorzystania przeniesionego kontenera? std::vector<int> container; container.push_back(1); auto container2 = std::move(container); // ver1: Do nothing //container2.clear(); // ver2: "Reset" container = std::vector<int>() // ver3:...

84
Zastępowanie metod niewirtualnych

Załóżmy taki scenariusz w Visual C ++ 2010: #include <iostream> #include <conio.h> using namespace std; class Base { public: int b; void Display() { cout<<"Base: Non-virtual display."<<endl; }; virtual void vDisplay() { cout<<"Base: Virtual...

84
Czy x + = szybciej niż x = x + a?

Czytałem „Język programowania C ++” Stroustrupa, w którym mówi, że na dwa sposoby można dodać coś do zmiennej x = x + a; i x += a; Woli, +=bo najprawdopodobniej jest lepiej zaimplementowany. Myślę, że ma na myśli, że to też działa szybciej. Ale czy to naprawdę? Jeśli to zależy od...

84
Wyliczenie vs Wyliczenie silnie wpisane

Jestem początkującym w programowaniu w C ++. Dziś trafiłem na nowy temat: mocno wpisany enum. Trochę to zbadałem, ale do tej pory nie jestem w stanie dowiedzieć się, dlaczego tego potrzebujemy i jaki jest pożytek z tego samego? Na przykład, jeśli mamy: enum xyz{a, b, c}; /*a = 0, b = 1, c =...

84
Jak zdefiniować różne typy dla tej samej klasy w C ++

Chciałbym mieć kilka typów, które mają tę samą implementację, ale nadal są różnego typu w C ++. Aby zilustrować moje pytanie prostym przykładem, chciałbym mieć klasę jabłek, pomarańczy i bananów, wszystkie z tymi samymi operacjami i taką samą implementacją. Chciałbym, żeby były różne typy,...

84
std :: dynarray vs std :: vector

C ++ 14 przedstawia std::dynarray: std :: dynarray to kontener sekwencji, który hermetyzuje tablice o rozmiarze, który jest ustalony w konstrukcji i nie zmienia się przez cały okres istnienia obiektu. std::dynarraymuszą być przydzielane w czasie wykonywania tak samo jak std::vector. Więc...