Pregunta

En el borrador actual de C++ 0x Me di cuenta de que introdujeron algunas palabras clave explícitas nuevas para resaltar los comportamientos esperados (¡excelente movimiento!).

Ejemplos: predeterminado/eliminado funciones (= predeterminado y = eliminar), el nuevo nulo constante, el explícito palabra clave utilizable también para operadores de conversión, ...

Así que esperaba ver también un = puro sintaxis para funciones virtuales puras.

En lugar de lo feo (en mi humilde opinión, por supuesto) = 0 La cosa todavía existe.

Ok, puedo usar un #definir puro 0 (y a veces hago eso), pero creo que la coherencia/consistencia debería ser definitivamente un objetivo para un estándar.Además, sé que es sólo una especie de petición ultrapedante, pero = 0 De hecho, fue una de mis partes menos favoritas de C++ (eufemismo)...

Mis preguntas:

  • Lo sé, el nuevo estándar tiene todas las funciones, pero ¿aún es posible solicitar esta pequeña adición pedante, aunque sea solo como una "macro requerida"?
  • si la respuesta es positiva ¿cómo?(¿algún miembro del comité por aquí?)
  • ¿Soy demasiado pedante (o equivocado) al hacer esta adición?¿Qué opinas de la sintaxis actual de las funciones virtuales puras?
¿Fue útil?

Solución

Eso no es un pequeño cambio pedante. La introducción de una nueva palabra clave es una de las más grandes cambios que puede pedir. Es algo que tratan de evitar casi a cualquier precio. Piense en todo el código que utiliza la palabra "puro", lo que podría romper.

En general, su guía es sólo para añadir cosas a la lengua que no se podía hacer antes de . Una palabra clave pure no permitiría nada nuevo (a diferencia de la palabra clave nullptr, lo que permite una mejor comprobación de tipos, por ejemplo), por lo que esperamos que tenga una prioridad muy baja. Tenga en cuenta que cualquier cosa que hacen es básicamente el trabajo de mantenimiento. El objetivo # 1 es para evitar romper el idioma (o código que utiliza existente). Cualquier característica que se agregan sucesivamente se añadieron sólo si puede hacerse sin romper la compatibilidad hacia atrás.

Sin embargo, el comité es más o menos un foro abierto. Navegar por su página web href="http://www.open-std.org/jtc1/sc22/wg21/docs/contacts" , y usted debería ser capaz de encontrar una algunas direcciones de correo electrónico. O utilizar el grupo de noticias comp.std.c++.

Creo que sus reuniones son abiertas, así, por lo que sólo podría colarse en la siguiente. ;)

Otros consejos

Lo que odio más sobre C ++ es "= 0;" ???

¿Alguna vez utiliza este lenguaje? Hay un montón de otras cosas que podría ser mejor gastar su odio sucesivamente.

<Flame retardant> he utilizado C ++ por más de 10 años. Para mí sigue siendo el idioma de su elección siempre que necesite hacer algún trabajo pesado computacional. </Flame retardant>

Primero, empieza a leer. comp.std.c++ grupo de noticias.Este es el lugar para las discusiones públicas.

En segundo lugar, diría que sólo se aplicarán erratas al borrador actual de C++0x; el comité realmente está en las etapas finales.

Si usted es extremadamente Si estás interesado, haz tu propuesta en el grupo de noticias, con una muy buena justificación.Y espere que lo derriben.Propuestas sustancialmente más útiles (p. ej.módulos) no lo han logrado.

Apéndice:Si desea que algo como esto progrese, deberá unirse (ANSI tiene) al comité o encontrar a alguien en el comité para impulsar su propuesta.

Demasiado tarde. La convocatoria de ofertas terminó hace un par de años.

(Hubo una página donde se realizaron las presentaciones, pero no puedo encontrar esa lista más.)

Además de JALF 's comentario sobre las desventajas de la adición de una palabra clave (con la que estoy de acuerdo 100%) también se debe tener en cuenta que en la informática la frase pura función ya tiene un significado. Esto significa que, dado los mismos parámetros de una función siempre devuelve el mismo valor y no tiene efectos secundarios. Así que la elección = pure para indicar una función virtual que debe ser anulado sería una mala elección de sintaxis.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top