Preguntas etiquetadas con c++

88
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 =...

88
¿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
Desorden de inicialización por defecto, valor y cero

Estoy muy confundido sobre el valor, el valor predeterminado y la inicialización cero. y especialmente cuando entran en juego para los diferentes estándares C ++ 03 y C ++ 11 (y C ++ 14 ). Estoy citando y tratando de extender una respuesta realmente buena Value- / Default- / Zero- Init C ++ 98 y...

88
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...

87
¿TCHAR sigue siendo relevante?

Soy nuevo en la programación de Windows y después de leer el libro de Petzold me pregunto: ¿Sigue siendo una buena práctica usar el TCHARtipo y la _T()función para declarar cadenas o si debería usar las cadenas wchar_ty L""en el nuevo código? Apuntaré solo a Windows 2000 y versiones...

87
¿Por qué no se declara NULL?

Tengo un problema con este constructor de estructuras cuando intento compilar este código: typedef struct Node { Node( int data ) // { this->data = data; previous = NULL; // Compiler indicates here next = NULL; } int data; Node* previous; Node* next; } NODE; cuando vengo se...

87
¿Cómo simular "Presione cualquier tecla para continuar?"

Estoy tratando de escribir un programa en C ++ en el que cuando el usuario ingrese cualquier carácter desde el teclado, debería moverse a la siguiente línea de código. Aquí está mi código: char c; cin>>c; cout<<"Something"<<endl; pero esto no funciona, porque solo se...