Articles of operador

El constructor de copias y el operador de asignación

Si anulo el operator= ¿el constructor de copias usará automáticamente el nuevo operador? De manera similar, si defino un constructor de copia, ¿ operator= automáticamente ‘heredará’ el comportamiento del constructor de copia?

¿Qué hace i = (i, ++ i, 1) + 1; ¿hacer?

Después de leer esta respuesta sobre comportamiento indefinido y puntos de secuencia, escribí un pequeño progtwig: #include int main(void) { int i = 5; i = (i, ++i, 1) + 1; printf(“%d\n”, i); return 0; } La salida es 2 . Oh Dios, ¡no vi venir la disminución! ¿Que está sucediendo aquí? Además, al comstackr […]

¿Cuál es el significado de “operador bool () const”

Por ejemplo: operator bool() const { return col != 0; } col es un int. ¿Cómo funciona el operator bool() const ?

Error: lvalue requerido en este simple código C? (Ternario con asignación?)

Yo tengo : #include int main() { int a=5,b=6; (a>b)?b=a:b=b; // Here is the error return 0; } Pero si reemplazo: (a>b)?b=a:b=b; // Error with (a>b)?(b=a):(b=b); // No-Error Entiendo que lvalue es un valor al que se le puede asignar algo y cómo es diferente de rvalue , pero ¿por qué los extra parenthesis rvalue […]

Omitir la segunda expresión cuando se utiliza la taquigrafía if-else

¿Puedo escribir la taquigrafía ‘if else’ sin el else? var x=1; x==2 ? dosomething() : doNothingButContinueCode(); Me he dado cuenta de que poner null para el rest funciona (pero no tengo idea de por qué o si es una buena idea). Editar: Algunos de ustedes parecen desconcertados por qué me molestaría en intentar esto. Tenga […]

Directrices de precedencia del operador de Java

La mala interpretación de la precedencia del operador Java es una fuente de preguntas frecuentes y errores sutiles. Me intrigaba saber que incluso la Especificación del lenguaje Java dice: “Se recomienda que el código no dependa de manera crucial de esta especificación”. JLS §15.7 Preferir claro a inteligente , ¿hay alguna guía útil en esta […]

Haciendo operador << virtual?

Necesito usar un operador virtual <<. Sin embargo, cuando intento escribir: virtual friend ostream & operator<<(ostream& os,const Advertising& add); Me sale el error del comstackdor Error 1 error C2575: ‘operador <<': solo las funciones y bases de miembros pueden ser virtuales ¿Cómo puedo activar este operador virtual?

¿Para qué sirve el operador “??”?

Me preguntaba ?? firma en C# código C# . ¿Para qué sirve? ¿Y cómo puedo usarlo? ¿Qué hay de int? ? ¿Es un int nullable? Ver también: ?? Operador coalescente nulo -> ¿Qué significa coalescencia?

¿Por qué Java no tiene versiones de asignación compuesta de los operadores condicional, y condicional o? (&& =, || =)

Entonces para los operadores binarios en booleanos, Java tiene & , | , ^ , && y || . Vamos a resumir lo que hacen brevemente aquí: JLS 15.22.2 operadores lógicos booleanos &, ^, y | JLS 15.23 Condicional-y operador && JLS 15.24 Condicional-O Operador || Para & , el valor del resultado es true […]

¿Por qué uno debería reemplazar operadores predeterminados nuevos y eliminar?

¿Por qué debería uno reemplazar el operador predeterminado new y delete con un operador personalizado new y delete ? Esto es una continuación de Sobrecarga nueva y eliminar en las Preguntas frecuentes de C ++ inmensamente esclarecedoras: Sobrecarga del operador. Una entrada de seguimiento a esta pregunta frecuente es: ¿Cómo debo escribir los operadores new […]