La mayoría de los compiladores already support C++0x. ¿Has empezado a usar C++ 0x o estás esperando la definición de x? Tengo que hacer una refacturación de mi código; ¿Debería comenzar a usar las nuevas características?¿Has empezado a usar C++ 0x?
Respuesta
C++ 0x todavía no es un estándar completo. Es probable que haya muchas revisiones antes de que se publique un estándar internacional aceptado. Así que todo depende, ¿para qué está escribiendo el código? Si se trata de una tarea de trabajo, me quedaría con C++ normal, espere a que se establezca el estándar y otorgue a la comunidad de programación el tiempo que lleva ajustarse. No refactorices el código que realmente necesitas implementar, puede darte un montón de problemas.
Sin embargo, creo que C++ 0x es genial para jugar y también no está de más saber que esté familiarizado con la sintaxis cuando 0x es aceptado globalmente.
El plan es que la norma se publique a finales de este año, y no se esperan muchas revisiones. Ya sacaron un borrador y lo revisaron una o dos veces. Más adelante este año, van a someterlo a votación en ISO, y se espera que pase sin problemas. – jalf
Retengo la redacción del código de producción hasta '0x + y, donde y es cuando eliminan los errores del compilador y lo ponen en cumplimiento estándar (cualquiera que sea el estándar).
¿Pero para el desarrollo? Lo uso para jugar, escribir project euler, etc. Lo uso en presentaciones y grupos de noticias también.
Comenzaré a usarlo cuando Visual Studio TOTALMENTE lo admita. En este momento VS10 solo es compatible con algunas funciones.
También pensé de esa manera. Pero esperar a que la implementación sea completa podría tomar un buen tiempo (Mi opinión es que esto llevará años y tal vez habrá algunas características menores que rara vez se utilizarán y que nunca se implementarán en algunos compiladores). Por lo tanto, usaré todas las características que están disponibles en todos los compiladores involucrados. (Desgraciadamente tenemos que usar GCC 3.4.5 para nuestro desarrollo integrado: - ((() – mmmmmmmm
He comenzado a usar nullptr
, usando #define nullptr 0
para aquellos compiladores (es decir, la mayoría) que aún no lo admiten.
+1: actualmente estoy pensando en hacer lo mismo. – mmmmmmmm
Haciendo lo mismo. –
Todavía estamos en el proceso de cambiar de VS6 a VS 2005. Probablemente no usemos compiladores C++ 0x exclusivamente para trabajos nuevos hasta finales de 201x.
Hay muy pocos compiladores que admitan algo. En realidad, VS solo admite bibliotecas TR1, gcc admite algunas características como varialat templatres, rvalue, auto y algunas más. El compilador de Intel tiene algunos.
sobre todo me empezó a utilizar las plantillas variadic como:
#ifdef HAvE_VARIADIC
template<typename... Args>
void format(std::string,Args... args);
#else
template<typename T1>
void format(std::string,T1 p1);
template<typename T1,typename T2,>
void format(std::string,T1 p1,T2 p2);
...
template<typename T1,typename T2,...,typename T10>
void format(std::string,T1 p1,T2 p2,..., T10 p10);
#endif
Hemos jugado con C++ 0x mucho y ahora, cuando gcc apoya algunas de las características que vamos a utilizar tan pronto como estén disponibles. La razón es simple: con la palabra clave auto ahorra mucho tipeo, con las referencias de valor se obtiene un aumento del rendimiento y con listas de inicializadores y plantillas variadas menos tipeo y código mucho más legible.
En realidad, los principales objetivos de C++ 0x estándar también son nuestros objetivos, ya que tendremos ventajas para nuestros competidores con estas características. Es por eso que vamos a usarlos sin esperar nada. Por supuesto, si necesita compatibilidad multiplataforma, este paso no es aceptable. En caso de que no te importe, úsalo de inmediato y solo podrás ganar.
Sí, ya estoy usando C++ 0x y liberando bibliotecas y código de código abierto. Todos mis futuros proyectos de código abierto en C++ se escribirán en esta variante.¡Después de usar los parámetros de plantilla variadic y decltype/auto no puedo volver atrás!
- 1. Plantilla automática hecha a mano (sin usar C++ 0x)
- 2. para usar o no usar C++ 0x cuenta
- 3. Transición a C++ 0x desde C++ 98
- 4. C + + 0x subprocesamiento
- 5. ¿Pasó `#pragma una vez` a C++ 0x?
- 6. ¿están agregando copy_if a C++ 0x?
- 7. C++ 0x sobrecarga Lambda
- 8. C++ 0x: Memoria ordenar
- 9. Inicialización uniforme en C++ 0x, cuándo usar() en lugar de {}?
- 10. C++ 0x lambda capturas
- 11. "Backporting" nullptr a C++ - programas pre-C++ 0x
- 12. Cómo usar el hilo C++ 0x en Android NDK?
- 13. C++ 0x con Qt Creator
- 14. C++ 0x - ¿Cuándo?
- 15. Soporte Unicode en C++ 0x
- 16. CMake clang y C++ 0x
- 17. anulaciones explícita y definitiva C++ 0x
- 18. Usando unordered_map de C++ 0x
- 19. función asíncrona llamada C++ 0x
- 20. función "id" en C++ 0x
- 21. C++ 0x interrupción de hilo
- 22. Usando __thread en C++ 0x
- 23. ¿Has reasignado == y! = A isTRUE (all.equal())?
- 24. Boost lambda :: _ 1 en C++ 0x
- 25. Sphinx: cuándo usar 'has' e 'indexes' para los campos
- 26. ¿hay alguna manera de usar C++ 0x en xcode? Quiero usar gcc 4.4 o superior
- 27. ¿Por qué no se agregó el rendimiento a C++ 0x?
- 28. enable_shared_from_this (C++ 0x): ¿qué estoy haciendo mal?
- 29. HAS-A, terminología IS-A en lenguaje orientado a objetos
- 30. compatibilidad con especificaciones g ++ y C++ 0x
No, todavía no hay CUALQUIER compilador que soporte completamente C++ 0x. Varios compiladores han implementado un SUBSET parcial de las características de C++ 0x, pero no casi todo. Además, el estándar aún no está terminado y podría cambiar. –
Se están quedando sin tiempo antes de que tengan que cambiarle el nombre C++ 1x. –
Será C++ 0a si se retrasa –