Devo aprender C ++ baseado no padrão novo ou velho (especificação)?

StackOverflow https://stackoverflow.com/questions/865209

  •  21-08-2019
  •  | 
  •  

Pergunta

OK, eu estou pensando em entrar em c ++ desenvolvimento nos próximos meses (não há data definida). Estou vagamente familiarizado com a linguagem (principalmente C), bem como algumas noções básicas de OO, MI, templates, exceções, padrões, STL usado. E agora eu estou no ponto no tempo em que eu gostaria de dominar a língua em profundidade. E a pergunta natural é se eu deveria
começar com corrente C ++ 03 ou C ++ 0x padrão.

Por favor, sugerem que a melhor maneira de ir de um usuário guru, dado que o novo padrão é quase aqui, e provavelmente permanecerão por muitos anos para vir.

Graças

Foi útil?

Solução

A minha recomendação é começar no meio. Comece com C ++ 03, mas verificar as características e C ++ 0x libs que alguns compiladores já estão oferecendo a cada tantas vezes. A partir de agora, C ++ 03 é o padrão (não apenas formalmente, mas a maioria do código que você vai encontrar será estritamente C ++ 03).

Agora, se você pretende aprender ir para o melhor: iniciar rapidamente com noções básicas de STL e saltar para bibliotecas de impulso imediato. Saiba modelos de todo o caminho, continue a ler metaprogramming. Modern C ++ 03 de uso, poderá ir no caminho certo para C ++ 0x.

Outras dicas

Saiba mais velho padrão C ++ 03. C ++ 0X é ainda um par de anos de distância (pelo menos) a partir de, mesmo sendo ratificado como um padrão. Uma vez que é padronizado, vai levar tempo antes de qualquer conforme implementações parecer que suporte todos os seus recursos, e isso vai demorar um mesmo mais tempo antes de implementações de C ++ 0x tornar significativamente popular e frequentemente utilizado.

Na minha opinião, aprender C ++ 03 é mais prático. Se você não se importa aprender novas características, mas pode usar parcial durante vários anos, C ++ 0x é melhor. A boa notícia é g ++ nova versão e vc ++ 2010 peças já implementadas de novo c ++ 0x recursos.

Aprender a nova C ++ 0x apresenta é uma ótima maneira de aprender mais sobre C ++ 03 em profundidade, porque você ver como C ++ 03 obras, os problemas com ele, eo que c ++ 0x propõe a fazer para resolver esses problemas.

Eu tive essa experiência recentemente aprendendo sobre as novas referências rvalue e semântica movimento. Em C ++ 03 há um monte de criação temporária desnecessário e copiar em expressões, aprender sobre o porquê c ++ 03 tem esse problema e como C ++ 0x resolve este problema foi muito esclarecedor e informados meu desenvolvimento atual C ++.

Vai ser alguns anos antes de C ++ 0x compiladores são comuns. Então, no momento, você não tem muita escolha. Saiba C ++ 03, e então você pode aprender o novo material separadamente, quando chegar a hora. As diferenças fundamentais não são tão grandes. 0x é principalmente uma questão de novos recursos a ser aparafusado e recursos existentes a ser generalizada e simplificada. Conhecimento de C ++ 03 ainda será aplicável.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top