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.

7
Dlaczego argc nie jest stałą?
int main( const int argc , const char[] const argv) Ponieważ w efektywnym punkcie C ++ nr 3 napisano: „Używaj stałej zawsze, gdy jest to możliwe”, zaczynam się zastanawiać „dlaczego nie uczynić tych„ stałych ”parametrów const? Czy istnieje scenariusz, w którym wartość argcjest modyfikowana w programie?
104 c++  const  main  argc  effective-c++ 


4
operator bool ++ i -
Dzisiaj podczas pisania kodu Visual C ++ natknąłem się na coś, co mnie zaskoczyło. Wygląda na to, że C ++ obsługuje ++ (inkrementacja) dla bool, ale nie - (dekrementacja). Czy to tylko przypadkowa decyzja, czy jest jakiś powód? To kompiluje: static HMODULE hMod = NULL; static bool once = false; …
104 c++  boolean  increment 

27
Zamiana wartości dwóch zmiennych bez użycia trzeciej zmiennej
Jedno z bardzo trudnych pytań zadawanych w wywiadzie. Zamień wartości dwóch zmiennych, takich jak a=10i b=15. Generalnie, aby zamienić wartości dwóch zmiennych, potrzebujemy trzeciej zmiennej, takiej jak: temp=a; a=b; b=temp; Teraz wymaganiem jest, zamień wartości dwóch zmiennych bez używania trzeciej zmiennej.
104 c++ 

7
Przecinek w makrze C / C ++
Powiedzmy, że mamy takie makro #define FOO(type,name) type name Którego moglibyśmy użyć FOO(int, int_var); Ale nie zawsze tak prosto: FOO(std::map<int, int>, map_var); // error: macro "FOO" passed 3 arguments, but takes just 2 Oczywiście mogliśmy zrobić: typedef std::map<int, int> map_int_int_t; FOO(map_int_int_t, map_var); // OK co nie jest zbyt ergonomiczne. Niezgodności …
104 c++  c  macros  c-preprocessor 

3
Co to są programy w C ++ 20?
Co to są programy w c ++ 20? Czym różni się od „Parallelism2” i / lub „Concurrency2” (spójrz na poniższą ilustrację)? Poniższy obraz pochodzi z ISOCPP. https://isocpp.org/files/img/wg21-timeline-2017-03.png
104 c++  coroutine  c++20 

8
przestrzenie nazw dla typów wyliczeniowych - najlepsze praktyki
Często potrzeba razem kilku wyliczonych typów. Czasami zdarza się konflikt nazw. Przychodzą mi na myśl dwa rozwiązania: użyj przestrzeni nazw lub użyj „większych” nazw elementów wyliczenia. Mimo to rozwiązanie przestrzeni nazw ma dwie możliwe implementacje: klasę fikcyjną z zagnieżdżonym wyliczeniem lub pełną przestrzeń nazw. Szukam zalet i wad wszystkich trzech …
104 c++  enums  scope  nested 

2
Co to jest renderer SDL?
Zaczynam od SDL2 i mam pewne problemy ze zrozumieniem, czym jest SDL_Renderer. Co to jest? Co to robi? Jaka jest różnica między SDL_Renderer, SDL_Window, SDL_Surface i SDL_Texture i jak są one powiązane? Miałem z tym problemy, próbując zrozumieć ten kod wprowadzający: #include <iostream> #include <SDL2/SDL.h> int main() { /* Starting …
104 c++  sdl  terminology  sdl-2 



3
Czy C ++ 14 dodaje nowe słowa kluczowe do C ++?
Komitet Standardów C ++ ma tendencję do unikania dodawania nowych słów kluczowych do języka, jednak w przypadku C ++ 11 tak nie było. Kilka przykładów: constexpr decltype thread_local auto // New usage noexcept nullptr static_assert alignof alignas Czy w C ++ 14 wprowadzono jakieś nowe słowa kluczowe?
103 c++  c++11  keyword  c++14 

4
Gdzie jest shared_ptr?
Jestem bardzo sfrustrowany po kilku godzinach prób znalezienia lokalizacji shared_ptr. Żaden z przykładów, które widzę, nie pokazuje pełnego kodu zawierającego nagłówki shared_ptr(i działające). Po prostu stwierdzając std, tr1i <memory>nie pomaga w ogóle! Pobrałem doładowania i wszystko, ale nadal się nie pojawiają! Czy ktoś może mi pomóc, podając dokładnie, gdzie go …

2
Kompilator wyświetla symbol „pi” w przypadku błędu
Testowałem kod w Coliru i otrzymałem dziwny wynik. Przeszedłem przez kod i mogłem go odtworzyć za pomocą tego prostego fragmentu kodu : int main() { π } Wynik na g ++: szczęk: Na przykład użycie just pi(bez address-of) pokazuje oczekiwany wynik: main.cpp:3:5: error: 'pi' was not declared in this scope …
103 c++  coliru 

5
Gwarantowany czas życia tymczasowego w C ++?
Czy C ++ zapewnia gwarancję na cały okres istnienia zmiennej tymczasowej, która jest tworzona w wywołaniu funkcji, ale nie jest używana jako parametr? Oto przykładowa klasa: class StringBuffer { public: StringBuffer(std::string & str) : m_str(str) { m_buffer.push_back(0); } ~StringBuffer() { m_str = &m_buffer[0]; } char * Size(int maxlength) { m_buffer.resize(maxlength …
103 c++ 

4
Dlaczego wszyscy piszą zamiast standardowych typów C?
Jeśli chcesz korzystać z Qt , trzeba ogarnąć quint8, quint16i tak dalej. Jeśli chcesz użyć wygadany , trzeba powitanie guint8, guint16i tak dalej. Na Linuksie istnieją u32, s16i tak dalej. uC / OS definiuje SINT32, UINT16i tak dalej. A jeśli musisz użyć jakiejś kombinacji tych rzeczy, lepiej bądź przygotowany na …
103 c++  c  stdint 

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.