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.





1
Czy używanie zmiennych wycieku goto?
Czy to prawda, że gotoprzeskakuje przez fragmenty kodu bez wywoływania destruktorów i innych rzeczy? na przykład void f() { int x = 0; goto lol; } int main() { f(); lol: return 0; } Nie xwycieknie?
94 c++  goto 

3
Jak ustawić punkty przerwania w przyszłych bibliotekach współdzielonych za pomocą flagi polecenia
Próbuję zautomatyzować sesję gdb za pomocą --commandflagi. Próbuję ustawić punkt przerwania funkcji w bibliotece współdzielonej (odpowiednik biblioteki DLL w systemie Unix). Mój cmds.gdb wygląda następująco: set args /home/shlomi/conf/bugs/kde/font-break.txt b IA__FcFontMatch r Jednak otrzymuję następujące informacje: shlomi: ~ / progs / bugs-external / kde / font-breaking $ gdb --command = cmds.gdb …
94 c++  c  linux  unix  gdb 

2
Co oznacza [=] w C ++?
Chcę wiedzieć, co [=]robi? Oto krótki przykład template <typename T> std::function<T (T)> makeConverter(T factor, T offset) { return [=] (T input) -> T { return (offset + input) * factor; }; } auto milesToKm = makeConverter(1.60936, 0.0); Jak kod działałby z []zamiast [=]? zakładam, że std::function<T (T)> oznacza prototyp funkcji, …
94 c++  c++11  lambda 

8
C ++ lambda z przechwytywaniami jako wskaźnikiem funkcji
Bawiłem się lambdami C ++ i ich niejawną konwersją na wskaźniki funkcji. Moim początkowym przykładem było użycie ich jako wywołania zwrotnego dla funkcji ftw. Działa to zgodnie z oczekiwaniami. #include <ftw.h> #include <iostream> using namespace std; int main() { auto callback = [](const char *fpath, const struct stat *sb, int …

9
Jak wyłączyć ostrzeżenia o nieużywanych zmiennych wychodzące z gcc w kodzie strony trzeciej, którego nie chcę edytować?
Chciałbym wiedzieć, jaki przełącznik przekazujesz do kompilatora gcc, aby wyłączyć ostrzeżenia o nieużywanych zmiennych? W systemie Windows pojawiają się błędy i nie chcę dotykać kodu doładowania: C:\boost_1_52_0/boost/system/error_code.hpp: At global scope: C:\boost_1_52_0/boost/system/error_code.hpp:214:36: error: 'boost::system::posix_category' defined but not used [-Werror=unused-variable] C:\boost_1_52_0/boost/system/error_code.hpp:215:36: error: 'boost::system::errno_ecat' defined but not used [-Werror=unused-variable] C:\boost_1_52_0/boost/system/error_code.hpp:216:36: error: 'boost::system::native_ecat' defined …

8
Co jest szybsze: if (bool) czy if (int)?
Której wartości lepiej użyć? Wartość logiczna prawda czy liczba całkowita 1? Powyższy temat mnie zrobić kilka eksperymentów z booli intw ifstanie. Tak więc z ciekawości napisałem ten program: int f(int i) { if ( i ) return 99; //if(int) else return -99; } int g(bool b) { if ( b …
94 c++  assembly  int  boolean 

5
Czy używanie funkcji assert () w C ++ jest złą praktyką?
Mam tendencję do dodawania wielu asercji do mojego kodu C ++, aby ułatwić debugowanie bez wpływu na wydajność kompilacji wydania. Teraz assertjest czystym makrem C, zaprojektowanym bez uwzględnienia mechanizmów C ++. Z drugiej strony C ++ definiuje std::logic_error, który ma być wyrzucany w przypadkach, gdy występuje błąd w logice programu …

3
Jaka jest różnica między span i array_view w bibliotece gsl?
W kilku ostatnich prezentacjach konferencyjnych słyszałem, jak Bjarne Stroustrup i inni wspominali o nowych wytycznych kodowania dla C ++ i niektórych typach je wspierających. W szczególności pamiętam przykład span<T>zamiast (T* p, int n)jako parametr funkcji (w czasie około 32:00 w trakcie rozmowy); ale pamiętam też sugestię użycia array_view<T>. Czy to …

4
operator << musi przyjmować dokładnie jeden argument
ah #include "logic.h" ... class A { friend ostream&amp; operator&lt;&lt;(ostream&amp;, A&amp;); ... }; logic.cpp #include "a.h" ... ostream&amp; logic::operator&lt;&lt;(ostream&amp; os, A&amp; a) { ... } ... Kiedy kompiluję, mówi: std :: ostream &amp; logic :: operator &lt;&lt; (std :: ostream &amp;, A &amp;) 'musi przyjmować dokładnie jeden argument. Jaki jest …



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.