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.


4
C ++ auto y vs auto
Al crear variables locales, ¿es correcto usar (const) auto&o auto? p.ej: SomeClass object; const auto result = object.SomeMethod(); o const auto& result = object.SomeMethod(); Donde SomeMethod () devuelve un valor no primitivo, tal vez otro tipo definido por el usuario. Tengo entendido que const auto& resultes correcto ya que el …
88 c++  auto 


3
¿Cómo es legal void * a = & a?
Considere el siguiente código C ++: void* a = &a; ¿Por qué el compilador no se queja por usar un identificador no declarado? Además, ¿qué considera el compilador que es la variable a? ¿Es un puntero a un objeto vacío o es un puntero a un void*puntero?
88 c++ 


8
¿Se pueden asumir las ramas con comportamiento indefinido inalcanzables y optimizarlas como código muerto?
Considere la siguiente declaración: *((char*)NULL) = 0; //undefined behavior Claramente invoca un comportamiento indefinido. ¿La existencia de tal declaración en un programa dado significa que todo el programa no está definido o que el comportamiento solo se vuelve indefinido una vez que el flujo de control llega a esta declaración? …





4
¿Cómo funciona la biblioteca de importación? Detalles?
Sé que esto puede parecer bastante básico para los geeks. Pero quiero dejarlo muy claro. Cuando quiero usar una DLL de Win32, generalmente solo llamo a las API como LoadLibrary () y GetProcAdderss (). Pero recientemente, estoy desarrollando con DirectX9, y necesito agregar archivos d3d9.lib , d3dx9.lib , etc. He …
88 c++  c  windows  visual-c++ 

5
Pasar punteros compartidos como argumentos
Si declaro un objeto envuelto en un puntero compartido: std::shared_ptr<myClass> myClassObject(new myClass()); luego quería pasarlo como argumento a un método: DoSomething(myClassObject); //the called method void DoSomething(std::shared_ptr<myClass> arg1) { arg1->someField = 4; } ¿Lo anterior simplemente incrementa el recuento de referencias de shared_pt y todo está bien? ¿O deja un puntero …

3
Cargar dinámicamente una función desde una DLL
Estoy echando un vistazo a los archivos .dll, entiendo su uso y estoy tratando de entender cómo usarlos. He creado un archivo .dll que contiene una función que devuelve un número entero llamado funci () usando este código, creo que he importado el archivo .dll al proyecto (no hay quejas): …
88 c++  winapi  dll 

7
¿Por qué no podemos declarar un std :: vector <AbstractClass>?
Habiendo pasado bastante tiempo desarrollando en C #, noté que si declara una clase abstracta con el propósito de usarla como interfaz, no puede crear una instancia de un vector de esta clase abstracta para almacenar instancias de las clases secundarias. #pragma once #include &lt;iostream&gt; #include &lt;vector&gt; using namespace std; …


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.