Errores, fallos, preguntas - página 2325
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
¿Hubo razones de peso para abandonar el operador ->?
No, no había razones serias.
La única justificación de su ausencia es la preocupación por las mentes inmaduras de los usuarios no familiarizados con C++.
¿Está optimizada la doble negación por el compilador?
Sí, así es.
No, no había razones serias.
La única justificación de su ausencia es cuidar las frágiles mentes de los usuarios no familiarizados con C++.
No creo que ocurra nada malo si lo añades.
Se puede permitir el uso de un punto con punteros donde no hay ambigüedad durante algún tiempo.
Y por supuesto emitir una advertencia.
No creo que ocurra nada malo si lo añades.
Duranteun tiempo, es posible que se permita utilizar un punto con punteros donde no haya ambigüedad.
Y por supuesto emitir una advertencia.
¿Por qué hacerlo tan complicado? Es suficiente para que . y -> sean registros equivalentes e intercambiables.
En sentido figurado
#define -> .
Sí, hay ambigüedad en su caso. En el buen sentido, debería haber al menos una advertencia del compilador para este tipo de cosas.
En mi caso, que es mucho más sencillo, todo está claro. Creo que C++ también está de acuerdo con eso.
Tienes claridad imaginaria - un pequeño cambio (de clase A) y el significado cambia dramáticamente
Esto es un cambio en la clase y debería dar lugar a un mensaje del compilador correspondiente.
Si no está ahí, es una claridad total.
¡Como solución temporal, utilice el operador '! (lógico no).
Vamos a pensar en la solución (¿podemos cambiar el comportamiento ahora, cuando hay mucho código?)
Es posible que para un puntero, una operación de conversión bool sea una operación sobre el puntero y no sobre el objeto al que apunta.
Sin cambiar los códigos existentes, no funcionará... Todo el concepto de punteros como objetos dinámicos se derrumba
Es decir, en lugar de escribir simplemente
tendremos que escribir uno confuso.
if ( *a * *b );//(2)
¿Y todo esto para qué? ¿Para poder comprobar si un puntero es NULL? - Existe un operador de comparación para ello:
¿Por qué duplicarlo?
todo el concepto de punteros como objetos dinámicos se derrumba