Resultados de la búsqueda a petición "language-lawyer"

1 la respuesta

secuencia de conversión implícita en sobrecarga de funciones

No entiendo cómo el compilador elige a los mejores candidatos. Por ejemplo, tengamos el siguiente código: int function(double, int, int){...} int function(int, double, double){...}Si la segunda función necesita convertir dos variables y la ...

2 la respuesta

std :: make_shared () cambio en C ++ 17

Encppref [http://en.cppreference.com/w/cpp/memory/shared_ptr/make_shared], lo siguiente se mantiene hasta C ++ 17: código comof(std::shared_ptr<int>(new int(42)), g()) puede causar una pérdida de memoria sig se llama despuésnew int(42) y lanza ...

1 la respuesta

¿C ++ 17 prohíbe la elisión de copia en un caso donde C ++ 14 lo permitió?

Considera lo siguiente: struct X { X() {} X(X&&) { puts("move"); } }; X x = X();En C ++ 14, el movimiento podría eludirse a pesar de que el constructor del movimiento tiene efectos secundarios gracias a [class.copy] / 31, Esta elisión de ...

4 la respuesta

Agregar especialización de plantilla en el espacio de nombres estándar

Antecedentes: Traté de responder la pregunta.¿Por qué mi sobrecarga <operador no funciona para ordenar STL [https://stackoverflow.com/questions/25973226/why-isnt-my-overloading-operator-not-working-for-stl-sort/25973427] . Una de mis sugerencias ...

4 la respuesta

¿Está bien definida la operación "falso <verdadero"?

La definición de C ++ define: la existencia del operador 'menor que' para parámetros booleanos, y si es así,¿El resultado de las 4 permutaciones de parámetros?En otras palabras, ¿los resultados de las siguientes operaciones están definidos por ...

2 la respuesta

¿La memoria es de una construcción o asignación de tipo copiable trivialmente?

Digamos que tienes un objeto de tipoT y un búfer de memoria adecuadamente alineadoalignas(T) unsigned char[sizeof(T)]. Si utilizastd::memcpy copiar del objeto de tipoT alunsigned char matriz, ¿se considera construcción de copia o asignación de ...

0 la respuesta

¿Está definido el comportamiento de desbordamiento de enteros con signo C # / .NET?

En un contexto desmarcado, ¿se está agregando uno a un número entero con el valor 2147483647 garantizado para resultar en -2147483648? Por ejemplo, con el siguiente código const int first = int.MaxValue; int second = first; if ( second >= first ...

2 la respuesta

Valores que no designan objetos en C ++ 14

Estoy usando N3936 como referencia aquí (corrija esta pregunta si alguno de los textos de C ++ 14 difiere). Menos de 3.10Lvalues y Rvalues tenemos: Cada expresión pertenece exactamente a una de las clasificaciones fundamentales en esta ...

4 la respuesta

¿Cómo es que el terminador de cadena '\ 0' tiene el mismo valor que la constante entera 0?

Tengo el siguiente código - #include <stdio.h> #define LENGTH 5 int main(){ char* ch[LENGTH] = {"Zero", "One", "Two", "Three", "Four"}; char* pc; char** ppc; for(int i=0; i<LENGTH; i++){ ppc = ch+i; pc = *ppc; while(*pc != 0){ printf("%c ", ...

3 la respuesta

¿Una declaración que usa "auto" coincide con una declaración externa que usa un especificador de tipo concreto?

Considere el siguiente programa: extern int x; auto x = 42; int main() { }Clang 3.5 lo acepta (demo en vivo [http://coliru.stacked-crooked.com/a/8346873c11d41df9]), GCC 4.9 y VS2013 no ( demostración en vivo para el ...