Preguntas etiquetadas con c++

90
Que es esto (( ))?

Mientras navego por el código fuente del compilador gcc (gcc / c-family / c-pragma.c) veo: typedef struct GTY(()) align_stack { int alignment; tree id; struct align_stack * prev; } align_stack; e independientemente de tener muchos años de programación en C detrás de mí, estos bits (())son...

90
Llamar a una función C desde código C ++

Tengo una función en C que me gustaría llamar desde C ++. " extern "C" void foo()" No pude usar el tipo de enfoque porque la función C no pudo compilarse usando g ++. Pero se compila bien usando gcc. ¿Alguna idea de cómo llamar a la función desde C ++?

89
Cómo leer un valor del registro de Windows

Dada la clave para algún valor de registro (por ejemplo, HKEY_LOCAL_MACHINE \ blah \ blah \ blah \ foo), ¿cómo puedo: Determine con seguridad que existe dicha clave. Programáticamente (es decir, con código) obtiene su valor. No tengo la menor intención de escribir nada en el registro...

89
¿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...

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

89
¿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...

89
Puntero de función a función miembro

Me gustaría configurar un puntero de función como miembro de una clase que es un puntero a otra función en la misma clase. Las razones por las que hago esto son complicadas. En este ejemplo, me gustaría que la salida fuera "1" class A { public: int f(); int (*x)(); } int A::f() { return...