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.

6
Devolución de llamada de C ++ usando miembro de clase
Sé que esto se ha preguntado tantas veces, y por eso es difícil profundizar y encontrar un ejemplo simple de lo que funciona. Tengo esto, es simple y funciona para MyClass... #include <iostream> using std::cout; using std::endl; class MyClass { public: MyClass(); static void Callback(MyClass* instance, int x); private: int …

5
Eliminar un puntero a const (T const *)
Tengo una pregunta básica sobre los punteros const. No puedo llamar a ninguna función miembro que no sea constante usando un puntero constante. Sin embargo, puedo hacer esto en un puntero constante: delete p; Esto llamará al destructor de la clase que, en esencia, es un 'método' no constante. ¿Por …

6
¿Por qué el operador [] no es constante para mapas STL?
Ejemplo elaborado, por el bien de la pregunta: void MyClass::MyFunction( int x ) const { std::cout << m_map[x] << std::endl } Esto no se compilará, ya que el operador [] no es constante. Esto es lamentable, ya que la sintaxis [] parece muy limpia. En cambio, tengo que hacer algo …
89 c++  constants 

3
¿Qué es const void?
La descripción de std::is_voidestablece que: Proporciona el valor de la constante del miembro que es igual a verdadero, si T es del tipo void, const void, volatile void o const volatile void. Entonces, ¿qué podría ser const void, o un volatile void? Esta respuesta indica que el const voidtipo de …
89 c++  c++11  c++14 

3
shared_ptr magia :)
El Sr. Lidström y yo tuvimos una discusión :) La afirmación del Sr. Lidström es que una construcción shared_ptr<Base> p(new Derived);no requiere que Base tenga un destructor virtual: Armen Tsirunyan : "¿En serio? ¿El shared_ptr se limpiará correctamente? ¿Podrías demostrar en este caso cómo se podría implementar ese efecto?" Daniel …

4
¿Cómo almacenar argumentos de plantilla variadic?
¿Es posible almacenar un paquete de parámetros de alguna manera para un uso posterior? template <typename... T> class Action { private: std::function<void(T...)> f; T... args; // <--- something like this public: Action(std::function<void(T...)> f, T... args) : f(f), args(args) {} void act(){ f(args); // <--- such that this will be possible …




12
¿Cómo declarar una matriz de cadenas en C ++?
Estoy tratando de iterar sobre todos los elementos de una matriz estática de cadenas de la mejor manera posible. Quiero poder declararlo en una línea y agregar / eliminar elementos fácilmente sin tener que realizar un seguimiento del número. Suena muy simple, ¿no? Posibles no soluciones: vector<string> v; v.push_back("abc"); b.push_back("xyz"); …
89 c++  arrays 


3
¿Qué es exactamente la regla "como si"?
Como dice el título, ¿Qué es exactamente la regla "como si"? Una respuesta típica que se obtendría es: La regla que permite todas y cada una de las transformaciones de código que no cambian el comportamiento observable del programa. De vez en cuando seguimos obteniendo comportamientos de ciertas implementaciones que …
89 c++  c  optimization  c++-faq  as-if 


1
¿Cómo funciona la elisión de copia garantizada?
En la reunión de estándares ISO C ++ de Oulu de 2016, el comité de estándares votó en C ++ 17 una propuesta llamada elisión de copia garantizada a través de categorías de valor simplificadas . ¿Cómo funciona exactamente la elisión de copia garantizada? ¿Cubre algunos casos en los que …

8
¿Cómo corregir el error "Windows SDK versión 8.1" no se encontró?
Recientemente actualicé Visual Studio 2015 y ahora, cuando intento construir cualquier proyecto, siempre falla y aparece el error Código de gravedad Descripción Error de estado de supresión de línea de archivo de proyecto MSB8036 No se encontró la versión 8.1 del SDK de Windows. Instale la versión requerida del SDK …

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.