Als «c++11» getaggte Fragen

Verwenden Sie dieses Tag für Code, der als C ++ 11 kompiliert werden muss (ohne die in C ++ 14 oder höher eingeführten Funktionen zu verwenden).

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 

3
Warum muss im folgenden Fall kein Typname für abhängige Typen verwendet werden?
Ich habe gelesen , über Bezug von einer Art zu entfernen, hier . Es gibt das folgende Beispiel: #include <iostream> // std::cout #include <type_traits> // std::is_same template<class T1, class T2> void print_is_same() { std::cout << std::is_same<T1, T2>() << '\n'; } int main() { std::cout << std::boolalpha; print_is_same<int, int>(); print_is_same<int, int …

1
Wie kann man die Anzahl der Elemente in std :: array <T, N> ermitteln, ohne seine Instanz erstellen zu müssen?
Es gibt std::array&lt;T, N&gt;::size(), aber es ist nicht statisch, daher ist eine Instanz von erforderlich std::array. Gibt es eine Möglichkeit, den zurückgegebenen Wert (der der Nvon ist std::array&lt;T, N&gt;) abzurufen, ohne eine Instanz des Arrays erstellen zu müssen? Für ein normales Array hätte ich es verwenden können sizeof, aber ich …
9 c++  arrays  c++11  sizeof 


2
Kann ich einen benutzerdefinierten Allokator für std :: array für sichere kryptografische Schlüssel verwenden?
Ich weiß, dass std::arrayder Stapel vollständig zugeordnet ist, aber diese Frage ist durch Sicherheitsbedenken motiviert, die zwei Dinge erfordern: Die Daten in std::arraywerden bei Zerstörung auf Null gesetzt oder zufällig ausgewählt Die eingehenden Daten std::arraywerden gesperrt , sodass sie weder beim Absturz noch im Swap-Speicher auf die Festplatte übertragen werden …


1
acosl ist nicht im std namespace?
Laut cppreference acoslsollte sich die Funktion im Standard- Namespace befinden: https://en.cppreference.com/w/cpp/numeric/math/acos Mit gcc (oder clang) wird der folgende Code jedoch nicht kompiliert: #include &lt;cmath&gt; int main() { long double var = std::acosl(4.0); return 0; } Ich erhalte die folgende Fehlermeldung: gay@latitude-7490:~$ g++ -std=c++11 test.cpp test.cpp: In function 'int main()': test.cpp:5:26: …
8 c++  c++11 

7
Ist es möglich, rekursiv ganzzahlige Vorlagenparameter in C ++ abzugleichen?
Ich habe folgendes Problem. Ich definiere einen N-dimensionalen Vektor als solchen #include &lt;vector&gt; #include &lt;utility&gt; #include &lt;string&gt; template &lt;int N, typename T&gt; struct NVector{ typedef std::vector&lt;typename NVector&lt;N-1,T&gt;::type&gt; type; }; template &lt;typename T&gt; struct NVector&lt;1,T&gt; { typedef std::vector&lt;T&gt; type; }; Ich möchte eine Funktion Map höherer Ordnung schreiben , die die …

5
Wie zwischen assert () und static_assert () zu versenden, hängt davon ab, ob im constexpr-Kontext?
In C ++ 11 constexpr-Funktionen ist eine zweite Anweisung wie eine assert()nicht möglich. A static_assert()ist in Ordnung, würde aber nicht funktionieren, wenn die Funktion als "normale" Funktion aufgerufen wird. Der Komma-Operator könnte kommen, um wrto zu helfen. Das assert()ist aber hässlich und einige Tools spucken Warnungen darüber aus. Betrachten Sie …

1
Swig C ++: Schnittstellenvektor <Klassenobjekt *>
Grundsätzlich versuche ich, ein Tupel / eine Liste zu haben, die ein Wörterbuch mit verschiedenen Datentypen von Werten (float / int / bool / char / list) in Python enthält. Ich erhalte dies aus dem folgenden Code: (&lt;f_p.Bunch; proxy of &lt;Swig Object of type 'Bunch *' at 0x7f4954bdde10&gt; &gt;, &lt;f_p.Bunch; …
8 c++  c++11  c++14  swig 

1
Wie ordne ich einen Vektor von Atomtypen zu?
Wie kann ich die Elemente eines Vektors einem Atomtyp zuordnen? #include &lt;iostream&gt; #include &lt;thread&gt; #include &lt;vector&gt; using namespace std; int main() { vector&lt;atomic&lt;bool&gt;&gt; myvector; int N=8; myvector.assign(N,false); cout&lt;&lt;"done!"&lt;&lt;endl; } https://wandbox.org/permlink/lchfOvqyL3YKNivk prog.cc: In function 'int main()': prog.cc:11:28: error: no matching function for call to 'std::vector&lt;std::atomic&lt;bool&gt; &gt;::assign(int&amp;, bool)' 11 | myvector.assign(N,false); | …

3
Verwenden Sie die aktuelle Vorlage als Vorlagenparameter für einen der Vorlagenparameter
Ich versuche, eine generische Diagrammstruktur zu erstellen, aber ich stoße auf diese kreisförmige Abhängigkeit zwischen Scheitelpunkten und Kanten. Ich definiere meine Vertex- und Edge-Klassen folgendermaßen: template&lt;typename EdgeType&gt; struct Vertex { std::vector&lt;EdgeType&gt; successors; }; template&lt;typename EdgeCostType, typename VertexWrapper&gt; struct Edge { EdgeCostType cost; VertexWrapper source; VertexWrapper dest; }; Ich würde es …


3
Finden Sie in linearer Zeit heraus, ob sich in einem sortierten Vektor ein Paar befindet, das sich zu einem bestimmten Wert addiert
Angesichts eines std::vectorbestimmten Elements, das in aufsteigender Reihenfolge sortiert ist, möchte ich einen Algorithmus entwickeln, der bestimmt, ob die Sammlung zwei Elemente enthält, deren Summe ein bestimmter Wert ist sum. Ich habe zwei verschiedene Ansätze mit ihren jeweiligen Kompromissen ausprobiert: Ich kann den gesamten Vektor scannen und für jedes Element …
8 c++  algorithm  c++11  search  stl 
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.