Byłbym zainteresowany takimi aspektami jak: zakres /
Byłbym zainteresowany takimi aspektami jak: zakres /
Widziałem kilka przykładów C ++ używających parametrów szablonów szablonów (czyli szablonów, które biorą szablony jako parametry) do tworzenia klas opartych na zasadach. Jakie inne zastosowania ma ta
Zauważyłem to w Effective STL wektor to typ sekwencji, który powinien być domyślnie używany. Co to znaczy Wydaje się, że zignorowanie wydajności vectormoże zrobić wszystko. Czy ktoś mógłby mi zaproponować scenariusz, w którym vectornie jest to wykonalna opcja, ale listnależy ją...
Natrafiłem na propozycję o nazwie „odwołanie do wartości dla * this” na stronie statusu C ++ 11 clanga . Czytałem sporo o referencjach do wartości i je rozumiałem, ale nie wiem o tym. Nie mogłem też znaleźć wielu zasobów w Internecie, używając tych warunków. Na stronie znajduje się link do...
std::unique_ptr obsługuje tablice, na przykład: std::unique_ptr<int[]> p(new int[10]); ale czy jest to potrzebne? prawdopodobnie jest wygodniejszy w użyciu std::vectorlub std::array. Czy znajdujesz zastosowanie dla tego
Piszę małą bibliotekę macierzy w C ++ do operacji na macierzach. Jednak mój kompilator narzeka, a wcześniej tego nie robił. Ten kod pozostawiono na półce przez 6 miesięcy, aw międzyczasie uaktualniłem komputer z debian etch do lenny (g ++ (Debian 4.3.2-1.1) 4.3.2), jednak mam ten sam problem w...
Mam aplikację wieloplatformową i w niektórych moich funkcjach nie wszystkie wartości przekazywane do funkcji są wykorzystywane. Dlatego dostaję ostrzeżenie od GCC z informacją, że istnieją nieużywane zmienne. Jaki byłby najlepszy sposób kodowania wokół ostrzeżenia? #Ifdef wokół funkcji? #ifdef...
Zamknięte. To pytanie nie jest zgodne z wytycznymi dotyczącymi przepełnienia stosu . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Zaktualizuj pytanie, aby było na temat przepełnienia stosu. Zamknięte 6 lat temu .
Ostatnio dostałem sugestie dotyczące użycia span<T>w moim kodzie lub widziałem tutaj odpowiedzi na stronie, które używają span- podobno jakiegoś kontenera. Ale - nie mogę znaleźć czegoś takiego w standardowej bibliotece C ++ 17. Czym jest to tajemnicze span<T>i dlaczego (lub kiedy)...
Czytam w tym czasie „Effective C ++” napisany przez Meyersa i spotkałem się z terminem „jednostka tłumacząca”. Czy ktoś mógłby mi wyjaśnić: 1) Co to dokładnie jest 2) Kiedy powinienem rozważyć użycie go podczas programowania w C ++ 3) Jeśli jest związany tylko z C ++ lub może być używany z...
Dlaczego kompilator nie pozwala mi na przekazywanie deklaracji typedef? Zakładając, że to niemożliwe, jaka jest najlepsza praktyka utrzymywania małego drzewa
W obecnej formie to pytanie nie pasuje do naszego formatu pytań i odpowiedzi. Oczekujemy, że odpowiedzi poparte będą faktami, referencjami lub wiedzą specjalistyczną, ale to pytanie prawdopodobnie będzie wymagało debaty, argumentów, ankiet lub rozszerzonej dyskusji. Jeśli uważasz,...
Próbuję zbudować kod na Ubuntu 10.04 LTS, który używa OpenSSL 1.0.0. Kiedy uruchamiam make, wywołuje g ++ z opcją „-lssl”. Źródło obejmuje: #include <openssl/bio.h> #include <openssl/buffer.h> #include <openssl/des.h> #include <openssl/evp.h> #include...
Znalazłem interesującą regresję wydajności w małym fragmencie kodu C ++, gdy włączę C ++ 11: #include <vector> struct Item { int a; int b; }; int main() { const std::size_t num_items = 10000000; std::vector<Item> container; container.reserve(num_items); for (std::size_t i = 0;...
Gdy przepływ kodu wygląda następująco: if(check()) { ... ... if(check()) { ... ... if(check()) { ... ... } } } Ogólnie widziałem, jak to działa, aby uniknąć powyższego nieporządnego przepływu kodu: do { if(!check()) break; ... ... if(!check()) break; ... ... if(!check())...
Potrzebuję prostej funkcji zaokrąglania zmiennoprzecinkowego, a zatem: double round(double); round(0.1) = 0 round(-0.1) = 0 round(-0.9) = -1 Potrafię znaleźć ceil()i floor()w matematyce. H - ale nie round(). Czy jest obecny w standardowej bibliotece C ++ pod inną nazwą, czy go...
Czy jest dozwolone, delete this;jeśli instrukcja delete jest ostatnią instrukcją, która zostanie wykonana w tej instancji klasy? Oczywiście jestem pewien, że obiekt reprezentowany przez this-pointer został newutworzony. Myślę o czymś takim: void SomeModule::doStuff() { // in the controller,...
Wektory C ++ 11 mają nową funkcję emplace_back. W przeciwieństwie do tego push_back, który polega na optymalizacji kompilatora w celu uniknięcia kopiowania, emplace_backwykorzystuje doskonałe przekazywanie, aby wysyłać argumenty bezpośrednio do konstruktora w celu utworzenia obiektu w miejscu....
Słyszałem z różnych źródeł (choć głównie od mojego kolegi), że kompilacja z poziomem optymalizacji -O3g ++ jest w jakiś sposób „niebezpieczna” i ogólnie należy jej unikać, chyba że okaże się to konieczne. Czy to prawda, a jeśli tak, to dlaczego? Czy powinienem się trzymać...
Pochodzę z środowiska Java, w którym używane są pakiety, a nie przestrzenie nazw. Przyzwyczaiłem się do łączenia klas, które współpracują ze sobą, aby utworzyć kompletny obiekt w pakiety, a następnie ponownego ich używania z tego pakietu. Ale teraz pracuję w C ++. Jak korzystasz z przestrzeni nazw...