Nota: Esta não é uma pergunta 'dê a sua opinião' sobre C ++ 03 e C ++ 11.
Nosso mecanismo de jogo, escrito em C ++ 03, foi projetado para ser compilado no Windows, OSX e iOS. O suporte ao Linux está planejado para o futuro (muito) próximo. Nossa experiência é limitada quando se trata de consoles, e é por isso que estou fazendo essa pergunta.
Atualmente, estamos debatendo se a mudança para o C ++ 11 e o uso de recursos incompatíveis do padrão C ++ 11 podem representar um problema no futuro próximo, quando precisarmos portar nosso mecanismo para qualquer um dos atuais consoles gen (talvez o compiladores suportados por alguns console (s) ainda não suportam C ++ 11? Não sabemos ...).
Então, desenvolvedores de jogos que têm experiência em várias plataformas e consoles, você acha que devemos seguir o C ++ 03 até que a nova geração de consoles chegue e quase todo mundo tenha mudado para o padrão C ++ 11 (já o fizeram?). Ou a maioria dos consoles usa / suporta compiladores (VC ++, GCC ou variantes?) Que já suportam recursos do C ++ 11?
fonte
Respostas:
Se você confia no seu código para pagar por comida e abrigo, e precisa oferecer suporte a várias plataformas em plataformas futuras desconhecidas (ou razoavelmente talvez precise oferecer suporte a várias plataformas no futuro), crie seu código para contar com um A adesão correta de muitos escritores de compiladores desconhecidos aos padrões de linguagem de ponta é perigosa (e eu diria, irresponsável). É perigoso para você e, portanto, também perigoso para seus dependentes.
Se você estiver disposto a correr esse tipo de risco
auto
, por qualquer meio, vá em frente. Mas não vou aconselhá-lo a fazê-lo.Porque, na minha experiência, a migração de plataforma cruzada, principalmente em consoles , é melhor alcançada, visando o menor denominador comum que você pode ter certeza de que funcionará virtualmente em todos os lugares, sem depender dos recursos mais recentes da linguagem whiz-bang. Se algum dia você precisar portar para uma plataforma que não os suporte, você terá que reescrever seus sistemas do zero. Você pode pagar salários / aluguel enquanto isso acontece?
fonte
Se você estiver disposto a trabalhar um pouco mais, poderá procurar soluções de refratores. O clang tem algumas coisas interessantes acontecendo nessa área atualmente. Deve ser possível usar a palavra-chave auto, executá-la através do refatorador que encontrará todos os usos, resolvê-los para você e emitir o código e, em seguida, compilá-lo com o que quiser.
Mas isso significa menos tempo para trabalhar no seu jogo.
Há também o potencial de alguns recursos extras, por exemplo, reflexão. Você pode criar uma classe e gerar automaticamente uma lista de todas as propriedades para inspecionar em tempo de execução. Pode ser muito útil para scripts, produzindo editores de jogos e assim por diante. EDIT: Confira clreflect .
http://cppnow.org/session/refactoring-c-with-clang/
http://www.youtube.com/watch?v=mVbDzTM21BQ
http://clang.llvm.org/docs/Tooling.html
http://clang.llvm.org/docs/RAVFrontendAction.html
fonte
2to3
mas ao contrário, e muito mais impressionante, mas provavelmente mais difícil de usar. Cara, quanto melhor podeauto
ficar?