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 Clang słusznie odrzuca kod, w którym zagnieżdżona klasa szablonu klasy jest definiowana tylko poprzez specjalizacje?
Biorąc pod uwagę następujący szablon klasy: template<typename T> struct Outer { struct Inner; auto f(Inner) -> void; }; definiujemy Innerosobno dla każdej specjalizacji Outer: template<> struct Outer<int>::Inner {}; template<> struct Outer<double>::Inner {}; a następnie raz zdefiniuj funkcję członka fdla wszystkich specjalizacji Outer: auto Outer<T>::f(Inner) -> void { } ale Clang …

3
Czy istnieje sposób na zainstalowanie Valgrind na Catalinie?
Czy istnieje sposób na zainstalowanie Valgrind na Catalinie i prawidłowe działanie? Jeśli tak, bardzo doceniłbym proces krok po kroku. Próbowałem zainstalować Valgrind z https://github.com/sowson/valgrind, ale kiedy testowałem helloWorld.cppna terminalu, konsola zwróciła błędy, których nie powinienem był otrzymywać. Nie jestem pewien, czy popełniłem błąd podczas instalacji tej wersji Valgrind, czy też …

1
Jakieś gotcha zastępujące globalną const char [] constexpr string_view?
Nasz zespół pracuje z ponad 10-letnią bazą kodu C ++, a ostatnio przeszedł na kompilator C ++ 17. Szukamy więc sposobów modernizacji naszego kodu. Podczas konferencji na YouTube usłyszałem sugestię zastąpienia const char*globalnych ciągów constexpr string_view. Ponieważ const char*w naszym kodzie mamy całkiem sporo takich globalnych stałych ciągów, chcę zapytać, …

2
Niejednoznaczne szablony przeciążenia
Mam następujący kod szablonu #include <vector> #include <array> #include <iostream> template<typename T1> void foo(std::vector<T1> bar) { std::cout << "GENERIC" << std::endl; } template<typename T1> void foo(std::vector<std::vector<T1>> bar) { std::cout << "SPECIFIC (vector)" << std::endl; } template<typename T1, int SIZE> void foo(std::vector<std::array<T1, SIZE>> bar) { std::cout << "SPECIFIC (array)" << std::endl; …
16 c++  templates 

3
Optymalizacja funkcji celu R z wolniejszym Rcpp, dlaczego?
Obecnie pracuję nad metodą bayesowską, która wymaga wielu kroków optymalizacji wielomianowego modelu logit dla każdej iteracji. Korzystam z Optim () do przeprowadzania tych optymalizacji, a funkcja celu napisana w R. Profilowanie wykazało, że Optim () jest głównym wąskim gardłem. Po przekopaniu znalazłem pytanie, w którym sugerują, że przekodowanie funkcji celu …
16 c++  r  optimization  rcpp 


1
typ zwracany std :: pair <auto, auto>
Grałem około z autow std::pair. W poniższym kodzie funkcja fpowinna zwracać std::pairtypy zależne od parametru szablonu. Przykład roboczy: PRZYKŁAD 1 template &lt;unsigned S&gt; auto f() { if constexpr (S == 1) return std::pair{1, 2}; // pair of ints else if constexpr (S == 2) return std::pair{1.0, 2.0}; // pair of …

1
Czy sizeof (wyliczenie) może różnić się od sizeof (typ: typ_podstawowy <Enum> :: typ)?
Niedawno pojawił się w przeglądzie kodu, który w następującym przykładzie: enum class A : uint8_t { VAL1, VAL2 }; ... std::vector&lt;A&gt; vOfA; // Assume this is sized and full of some stuff. std::memcpy(wire_buffer, vOfA.data(), vOfA.size() * sizeof(A)); Powinniśmy używać sizeof(std::underlying_type&lt;A&gt;::type)zamiast sizeof(A). Czy to możliwe, że mogą się one kiedykolwiek różnić? …


3
Szablony variadic: rozwijaj argumenty w grupach
Mam funkcję, która przyjmuje dwa argumenty: template &lt;typename T1, typename T2&gt; void foo(T1 arg1, T2 arg2) { std::cout &lt;&lt; arg1 &lt;&lt; " + " &lt;&lt; arg2 &lt;&lt; '\n'; } I variadic, który powinien przekazywać swoje argumenty parami: template &lt;typename... Args&gt; void bar(Args&amp;&amp;... args) { static_assert(sizeof...(Args) % 2 == 0); ( …

1
Dlaczego funkcja konstelacyjna pozwala na niezdefiniowane zachowanie?
W C ++ istnieje bardzo zgrabna właściwość wyrażeń stałych: ich ocena nie może mieć niezdefiniowanego zachowania ( 7.7.4.7 ): Wyrażenie e jest podstawowym stałym wyrażeniem, chyba że ocena e, zgodnie z regułami maszyny abstrakcyjnej ([intro. Wykonanie]), ocenia jedną z następujących czynności: ... operacja, która miałaby niezdefiniowane zachowanie określone w [intro] …

3
Dlaczego destruktor nie jest wywoływany w operatorze kasowania?
Próbowałem wezwać ::deleteklasę operator delete. Ale destruktor nie jest nazywany. I zdefiniowano klasę MyClassktórego operator deletezostał przeciążony. Globalny operator deletejest również przeciążony. Przeciążonej operator deletez MyClasswezwie przeciążonej globalny operator delete. class MyClass { public: MyClass() { printf("Constructing MyClass...\n"); } virtual ~MyClass() { printf("Destroying MyClass...\n"); } void* operator new(size_t size) { …

9
Catalina C ++: Używanie nagłówków <cmath> powoduje błąd: żaden element o nazwie „signbit” w globalnej przestrzeni nazw
Po aktualizacji do Catalina z Mojave, Konfiguracja: /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk w środowisku. Nie mogę skompilować programu używającego &lt;cmath&gt;nagłówka. Próbowałem zmienić CFLAGS, CCFLAGS, CXXFLAGS, aby wskazywały lokalizację MacOSSDK, która niczego nie zmienia Scanning dependencies of target OgreMain /Applications/Xcode.app/Contents/Developer/usr/bin/make -f OgreMain/CMakeFiles/OgreMain.dir/build.make OgreMain/CMakeFiles/OgreMain.dir/build [ 0%] Building CXX object OgreMain/CMakeFiles/OgreMain.dir/src/OgreASTCCodec.cpp.o cd /Users/roman/Downloads/ogre-1.12.2/build/OgreMain &amp;&amp; /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -DOgreMain_EXPORTS -D__ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES=0 …


5
Jak utworzyć permutację w c ++ przy użyciu STL dla liczby miejsc mniejszych niż całkowita długość
Mam c++ vectorz std::pair&lt;unsigned long, unsigned long&gt;przedmiotami. Próbuję wygenerować permutacje obiektów wektora za pomocą std::next_permutation(). Jednak chcę, aby permutacje miały określony rozmiar, wiesz, podobny do permutationsfunkcji w pythonie, w której określono rozmiar oczekiwanej zwróconej permutacji. Zasadniczo c++odpowiednik import itertools list = [1,2,3,4,5,6,7] for permutation in itertools.permutations(list, 3): print(permutation) Demo Pythona …

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.