Preguntas etiquetadas con c++

C ++ es un lenguaje de programación de propósito general. Originalmente fue diseñado como una extensión de C y tiene una sintaxis similar, pero ahora es un lenguaje completamente diferente. Use esta etiqueta para preguntas sobre el código (que se compilará) con un compilador de C ++. Utilice una etiqueta específica de la versión para preguntas relacionadas con una revisión estándar específica [C ++ 11], [C ++ 14], [C ++ 17] o [C ++ 20], etc.



8
Alternativa al vector <bool>
Como (con suerte) todos sabemos, vector&lt;bool&gt;está totalmente roto y no se puede tratar como una matriz C. ¿Cuál es la mejor forma de obtener esta funcionalidad? Hasta ahora, las ideas en las que he pensado son: Utilice a vector&lt;char&gt;en su lugar, o Use una clase contenedora y tenga vector&lt;bool_wrapper&gt; ¿Cómo …
92 c++  stl  vector  boolean 

6
Especialización de plantillas de un solo método de una clase con plantilla
Siempre considerando que el siguiente encabezado, que contiene mi clase con plantilla, está incluido en al menos dos .CPParchivos, este código se compila correctamente: template &lt;class T&gt; class TClass { public: void doSomething(std::vector&lt;T&gt; * v); }; template &lt;class T&gt; void TClass&lt;T&gt;::doSomething(std::vector&lt;T&gt; * v) { // Do something with a vector …

2
¿Qué significa “usar ODR” algo?
Esto acaba de surgir en el contexto de otra pregunta . Aparentemente, las funciones miembro en las plantillas de clase solo se instancian si se utilizan ODR. ¿Alguien podría explicar qué significa eso exactamente? El artículo de Wikipedia sobre la regla de una definición (ODR) no menciona el " uso …


3
C ++ Diferencia entre std :: ref (T) y T &?
Tengo algunas preguntas sobre este programa: #include &lt;iostream&gt; #include &lt;type_traits&gt; #include &lt;functional&gt; using namespace std; template &lt;typename T&gt; void foo ( T x ) { auto r=ref(x); cout&lt;&lt;boolalpha; cout&lt;&lt;is_same&lt;T&amp;,decltype(r)&gt;::value; } int main() { int x=5; foo (x); return 0; } La salida es: false Quiero saber, si std::refno devuelve la …
92 c++  reference  ref 




8
Cómo localizar un error "doble libre o corrupto"
Cuando ejecuto mi programa (C ++), se bloquea con este error. * glibc detectado * ./load: doble libre o corrupción (! prev): 0x0000000000c6ed50 *** ¿Cómo puedo localizar el error? Intenté usar std::coutdeclaraciones print ( ), sin éxito. ¿Podría gdbhacer esto más fácil?
92 c++  c  debugging  free 





Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.