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.

6
Czy nieużywana zmienna składowa zajmuje pamięć?
Czy inicjowanie zmiennej składowej i brak odwoływania się do niej / używania jej dalej zajmuje pamięć RAM w czasie wykonywania, czy też kompilator po prostu ignoruje tę zmienną? struct Foo { int var1; int var2; Foo() { var1 = 5; std::cout << var1; } }; W powyższym przykładzie element członkowski …
92 c++  memory  struct 


6
błąd :: make_unique nie jest członkiem „std”
Próbuję skompilować następujący program puli wątków opublikowany w przeglądzie kodu, aby go przetestować. /codereview/55100/platform-independant-thread-pool-v4 Ale otrzymuję błędy threadpool.hpp: In member function ‘std::future<decltype (task((forward<Args>)(args)...))> threadpool::enqueue_task(Func&&, Args&& ...)’: threadpool.hpp:94:28: error: ‘make_unique’ was not declared in this scope auto package_ptr = make_unique<task_package_impl<R, decltype(bound_task)>> (std::move(bound_task), std::move(promise)); ^ threadpool.hpp:94:81: error: expected primary-expression before ‘>’ token …

4
Czy stała poprawność może poprawić wydajność?
Wielokrotnie czytałem, że wymuszanie poprawności const w kodzie C lub C ++ jest nie tylko dobrą praktyką w odniesieniu do łatwości utrzymania, ale może również pozwolić kompilatorowi na wykonanie optymalizacji. Jednak przeczytałem też zupełnie odwrotnie - że w ogóle nie wpływa to na wydajność. W związku z tym, czy masz …

6
Początkowa pojemność wektora w C ++
Co to capacity()jest, std::vectorktóry jest tworzony przy użyciu domyślnego konstruktora? Wiem, że to size()jest zero. Czy możemy stwierdzić, że domyślnie skonstruowany wektor nie wywołuje alokacji pamięci sterty? W ten sposób byłoby możliwe utworzenie tablicy z dowolną rezerwą przy użyciu jednej alokacji, np std::vector<int> iv; iv.reserve(2345);. Powiedzmy, że z jakiegoś powodu …

10
minimalna podwójna wartość w C / C ++
Czy istnieje standardowy i / lub przenośny sposób reprezentowania najmniejszej wartości ujemnej (np. Użycie ujemnej nieskończoności) w programie C (++)? DBL_MIN w float.h to najmniejsza liczba dodatnia .
92 c++  c  math 

24
Usuwanie spacji wiodących i końcowych z ciągu
Jak usunąć spacje z obiektu ciągu w C ++. Na przykład, jak usunąć spacje wiodące i końcowe z poniższego obiektu ciągu. //Original string: " This is a sample string " //Desired string: "This is a sample string" O ile wiem, klasa string nie zapewnia żadnych metod usuwania spacji wiodących i …
92 c++  string 

12
C ++ Boost: niezdefiniowane odwołanie do boost :: system :: generic_category ()
Próbuję włączyć Boostbiblioteki do mojego projektu i napotykam problemy w tym samym. Korzystam z Ubuntu 12.10 z Codeblocks IDE i próbowałem zainstalować biblioteki ręcznie, odczytując instrukcje z witryny, ale otrzymywałem błędy z nagłówkiem, a także bibliotekami do zbudowania przed użyciem. Następnie zainstalowałem biblioteki przez terminalby sudo apt-get install libboost-all-dev. Następnie …
92 c++  linux  boost  codeblocks 


3
Constexpr a makra
Gdzie powinienem preferować używanie makr, a gdzie powinienem preferować constexpr ? Czy nie są w zasadzie takie same? #define MAX_HEIGHT 720 vs constexpr unsigned int max_height = 720;
92 c++  c++11  macros  constexpr 

5
Dlaczego ta struktura ma rozmiar 3 zamiast 2?
Zdefiniowałem tę strukturę: typedef struct { char A:3; char B:3; char C:3; char D:3; char E:3; } col; sizeof(col)Dać mi wyjście 3, ale nie powinno to być 2? Jeśli skomentuję tylko jeden element, to sizeofjest 2. Nie rozumiem dlaczego: pięć elementów po 3 bity to 15 bitów, czyli mniej niż …
91 c++  c  struct 

3
Dlaczego najbardziej ujemna wartość int powoduje błąd dotyczący niejednoznacznych przeciążeń funkcji?
Dowiaduję się o przeciążaniu funkcji w C ++ i natknąłem się na to: void display(int a) { cout << "int" << endl; } void display(unsigned a) { cout << "unsigned" << endl; } int main() { int i = -2147483648; cout << i << endl; //will display -2147483648 display(-2147483648); } …

6
Prekompilowane nagłówki z GCC
Czy ktoś odniósł sukces w uzyskaniu prekompilowanych nagłówków przy współpracy z GCC? Nie miałem szczęścia w moich próbach i nie widziałem wielu dobrych przykładów, jak to skonfigurować. Próbowałem na cygwin gcc 3.4.4 i używam 4.0 na Ubuntu.

2
Kiedy dodatkowe nawiasy mają wpływ, inny niż pierwszeństwo operatorów?
Nawiasy w C ++ są używane w wielu miejscach: np. W wywołaniach funkcji i wyrażeniach grupujących, aby przesłonić pierwszeństwo operatorów. Oprócz niedozwolonych dodatkowych nawiasów (takich jak listy argumentów wywołań funkcji), ogólna - ale nie bezwzględna - zasada C ++ mówi, że dodatkowe nawiasy nigdy nie zaszkodzą : 5.1 Wyrażenia podstawowe …

9
Jak mogę przenośnie wywołać funkcję C ++, która na niektórych platformach pobiera znak **, a na innych znak stały **?
Na moich komputerach z systemem Linux (i OS X) iconv()funkcja ma następujący prototyp: size_t iconv (iconv_t, char **inbuf... podczas gdy we FreeBSD wygląda to tak: size_t iconv (iconv_t, const char **inbuf... Chciałbym, aby mój kod C ++ był budowany na obu platformach. W kompilatorach C, przekazanie parametru char**a const char**(lub …
91 c++  const  portability 

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.