Resultados de la búsqueda a petición "language-lawyer"
Al usar encabezados C en C ++, ¿debemos usar funciones de std :: o el espacio de nombres global?
C es algo, no exactamente, un subconjunto de C ++. Por lo tanto, podemos usar la mayoría de las funciones / encabezados de C en C ++ cambiando un poco el nombre (stdio.h acstdio, stdlib.h acstdlib) Mi pregunta es realmente semántica. En el ...
¿Es posible confundir EOF con un valor de byte normal cuando se usa fgetc?
A menudo utilizamosfgetc Me gusta esto: int c; while ((c = fgetc(file)) != EOF) { // do stuff }Teóricamente, si un byte en el archivo tiene el valor deEOF, este código tiene errores: romperá el bucle temprano y no podrá procesar todo el archivo. ...
¿Es legal pasar un objeto C ++ a su propio constructor?
Me sorprende descubrir accidentalmente que lo siguiente funciona: #include <iostream> int main(int argc, char** argv) { struct Foo { Foo(Foo& bar) { std::cout << &bar << std::endl; } }; Foo foo(foo); // I can't believe this works... std::cout << ...
¿Cuál es la regla que permite a 'this->' acceder a miembros de clases base dependientes?
Como sabemos, el siguiente código está mal formado porque el miembrox está en una clase base dependiente. Sin embargo, cambiandox athis->x en la línea indicada corregiría el error. template <typename T> struct B { int x; }; template <typename T> ...
La especialización explícita en el ámbito sin espacio de nombres no se compila en GCC
El siguiente código se compila en Clang pero no en GCC: template<typename T> struct Widget { template<typename U> void foo(U) { } template<> void foo(int*) { } };De acuerdo con el estándar C ++ ([temp.expl.spec], párrafo 2): Se puede declarar ...
Forzar que la función se llame solo con tipos específicos
Estaba mirandoHacer cumplir la seguridad de tipo al lanzar char * para bool en C ++ 11 [https://stackoverflow.com/questions/32714895/enforcing-type-safety-when-casting-char-to-bool-in-c11] y se sugirió que si lo haces template<typename T> void ...
¿Qué significa para POSIX que un hilo está "suspendido"?
En el curso del comentario sobreuna pregunta reciente [https://stackoverflow.com/questions/32747675/stopping-getline-in-c], surgió una pregunta subsidiaria sobre en qué momento una solicitud de cancelación para un hilo pthreads con ...
¿Se define el comportamiento para hacer referencia a un miembro anterior de una expresión de miembro posterior durante la inicialización agregada?
Considera lo siguiente: struct mystruct { int i; int j; }; int main(int argc, char* argv[]) { mystruct foo{45, foo.i}; std::cout << foo.i << ", " << foo.j << std::endl; return 0; } Tenga en cuenta el uso defoo.i en la lista de inicializador ...
Valor almacenado cuando falla la lectura istream
Código de muestra: #include <iostream> int main() { int x = 5; std::cin >> x; std::cout << x << '\n'; }Enuna implementación particular [https://stackoverflow.com/questions/32944448/cin-val-sometimes-reads-0-depending-on-ctrl-z] se produce el ...
¿Cómo se importa una enumeración en un espacio de nombres diferente en C ++?
Tengo una enumeración en un espacio de nombres y me gustaría usarla como si estuviera en un espacio de nombres diferente. Intuitivamente, pensé que podría usar 'usar' o 'typedef' para lograr esto, pero ninguno de los dos funciona realmente. ...