Pytania otagowane jako c++

C ++ jest językiem programowania ogólnego przeznaczenia. Został pierwotnie zaprojektowany jako rozszerzenie do C i ma podobną składnię, ale teraz jest to zupełnie inny język. Ten znacznik służy do pytań o kod (kompilowany) za pomocą kompilatora C ++. Użyj tagu specyficznego dla wersji w przypadku pytań związanych z określoną wersją standardową [C ++ 11], [C ++ 14], [C ++ 17] lub [C ++ 20] itp.


5
Czy członek klasy odniesienia const przedłuża żywotność tymczasowego?
Dlaczego to: #include <string> #include <iostream> using namespace std; class Sandbox { public: Sandbox(const string& n) : member(n) {} const string& member; }; int main() { Sandbox sandbox(string("four")); cout << "The answer is: " << sandbox.member << endl; return 0; } Podaj wynik: Odpowiedź to: Zamiast: Odpowiedź brzmi: cztery

13
Czy w C ++ płacę za to, czego nie jem?
Rozważmy następujące przykłady Hello World w C i C ++: main.c #include <stdio.h> int main() { printf("Hello world\n"); return 0; } main.cpp #include <iostream> int main() { std::cout<<"Hello world"<<std::endl; return 0; } Kiedy kompiluję je w godbolt do assemblacji, rozmiar kodu C wynosi tylko 9 linii ( gcc -O3): .LC0: …
170 c++  c 







4
Czy powinienem dodać pliki .vcxproj.filter do kontroli źródła?
Oceniając Visual Studio 2010 Beta 2, widzę, że w katalogu przebudowanej, moi vcproj pliki stał vcxproj plików. Obok każdego projektu znajdują się również pliki vcxproj.filter, które wydają się zawierać opis struktury folderów (\ Source Files, \ Header Files itp.). Czy uważasz, że te pliki filtrów powinny być przechowywane dla poszczególnych …


2
publiczny element członkowski wymiany znajomych
W pięknej odpowiedzi na idiom `` kopiuj i zamień '' jest fragment kodu, potrzebuję trochę pomocy: class dumb_array { public: // ... friend void swap(dumb_array& first, dumb_array& second) // nothrow { using std::swap; swap(first.mSize, second.mSize); swap(first.mArray, second.mArray); } // ... }; i dodaje notatkę Istnieją inne twierdzenia, że ​​powinniśmy specjalizować …

6
Używanie ogólnych obiektów std :: function z funkcjami składowymi w jednej klasie
Dla jednej klasy chcę przechowywać niektóre wskaźniki funkcji do funkcji składowych tej samej klasy w jednej mapprzechowującej std::functionobiekty. Ale zawodzę na samym początku z tym kodem: class Foo { public: void doSomething() {} void bindFunction() { // ERROR std::function<void(void)> f = &Foo::doSomething; } }; Otrzymuję error C2064: term does not …

3
Czym różni się „= default” od „{}” dla domyślnego konstruktora i destruktora?
Pierwotnie opublikowałem to jako pytanie tylko o destruktory, ale teraz dodaję do rozważenia domyślnego konstruktora. Oto oryginalne pytanie: Jeśli chcę dać mojej klasie destruktor, który jest wirtualny, ale poza tym jest taki sam, jak wygenerowałby kompilator, mogę użyć =default: class Widget { public: virtual ~Widget() = default; }; Wygląda jednak …

8
Rozdzielanie kodu klasy na nagłówek i plik CPP
Nie wiem, jak oddzielić kod implementacji i deklaracji prostej klasy do nowego nagłówka i pliku CPP. Na przykład, jak oddzielić kod dla następującej klasy? class A2DD { private: int gx; int gy; public: A2DD(int x,int y) { gx = x; gy = y; } int getSum() { return gx + …
169 c++  oop  class 

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.