Als «c++» getaggte Fragen

C ++ ist eine universelle Programmiersprache. Es wurde ursprünglich als Erweiterung von C entwickelt und hat eine ähnliche Syntax, ist aber jetzt eine völlig andere Sprache. Verwenden Sie dieses Tag für Fragen zu Code, der mit einem C ++ - Compiler kompiliert werden soll. Verwenden Sie ein versionierungsspezifisches Tag für Fragen zu einer bestimmten Standardversion [C ++ 11], [C ++ 14], [C ++ 17] oder [C ++ 20] usw.

1
Kann eine variable Vorlage als Vorlagenvorlagenargument übergeben werden?
Das folgende unsinnige Beispiel wird nicht kompiliert. Gibt es jedoch eine andere Möglichkeit, eine Variablenvorlage als Vorlagenvorlagenargument zu übergeben? template<typename T> constexpr auto zero = T{0}; template<typename T, template<typename> auto VariableTemplate> constexpr auto add_one() { return VariableTemplate<T> + T{1}; } int main() { return add_one<int, zero>(); } Probieren Sie den …


1
Konfigurieren Sie CMake in Windows so, dass Clang über die Befehlszeile verwendet wird, um moderne OpenMP-Unterstützung zu erhalten
Ich habe ein kleines Testprojekt , das OpenMP für Parallelisierung verwendet. Mein Ziel ist es, es so zu kompilieren, dass es produziert .dllund .libfür Bibliotheken (da mein reales Projekt Links zu externen Bibliotheken enthält, die mit diesen Typen verteilt werden), mit Unterstützung für OpenMP 4.5 oder neuer, und dies über …


3
Kann ich std :: transform mit einer Richtlinie für parallele Ausführung verwenden?
Wenn ich mich nicht täuscht, kann ich std::transformausführen anstelle unter Verwendung des gleichen Bereichs als Ein- und Ausgang Iterator. Angenommen, ich habe ein std::vectorObjekt vec, dann würde ich schreiben std::transform(vec.cbegin(),vec.cend(),vec.begin(),unary_op) unter Verwendung einer geeigneten unären Operation unary_op. Unter Verwendung des C ++ 17-Standards möchte ich die Transformation parallel ausführen, indem …


2
Abzug der Argumenttypen für C ++ - Vorlagenvorlagen
Ich habe Code, der Übereinstimmungen eines Musters findet und ausdruckt, indem er über den Container mit Zeichenfolgen geht. Der Druck wird in der Funktion ausgeführt foo , die als Templat wird Der Code #include <iostream> #include <algorithm> #include <iterator> #include <vector> #include <string> #include <tuple> #include <utility> template<typename Iterator, template<typename> …



1
Warum fehlen std :: span die Vergleichsoperatoren?
War das nicht std::spanals leichte Referenz für Unterregionen von std::vector/ std::array/ plain array und ähnlich konzipiert? Sollte es nicht auch Vergleichsoperatoren in seiner API enthalten, um mit ihnen konsistent zu sein? Was war der Grund für den Ausschluss? Hinweis: von Vergleichsoperatoren, ich meine , entweder den vollen Satz ( <, …
10 c++  std  c++20  std-span 



3
Kann nullptr in uintptr_t konvertiert werden? Verschiedene Compiler sind sich nicht einig
Betrachten Sie dieses Programm: #include <cstdint> using my_time_t = uintptr_t; int main() { const my_time_t t = my_time_t(nullptr); } Es konnte nicht mit msvc v19.24 kompiliert werden: <source>(5): error C2440: '<function-style-cast>': cannot convert from 'nullptr' to 'my_time_t' <source>(5): note: A native nullptr can only be converted to bool or, using …
10 c++  c++11  gcc  visual-c++  clang 

1
Die Konzept-TS-Prüfung ignoriert den Modifikator für den privaten Zugriff
Ich möchte ein Konzept Indexable schreiben, das bedeutet, dass eine Sequenz entweder Anfang / Ende hat, die RandomAccessIterator zurückgibt, oder operator [] definiert ist und einen Wert vom Typ nicht void zurückgibt. Ich habe Ideen aus Stroustrups Artikel für das Sequenzkonzept verwendet und es erweitert mit: template <class T> concept …
10 c++  c++-concepts 

1
Problem in GCC / C ++ 17 mit Vorlagenvorlagenklasse
Betrachten Sie die 2 folgenden Überlastungen template<typename T> bool test() { return true; } template<template<typename ...> class T> bool test() { return false; } Der erste funktioniert für reguläre Klassen, während der zweite für Vorlagen funktioniert, die nicht instanziiert sind. Zum Beispiel: std::cout<<test<int>()<<std::endl; <-- this yields 1 std::cout<<test<std::list>()<<std::endl; <--this yields …
10 c++  templates  gcc  clang  c++17 

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.