Pergunta

Na minha universidade, a maioria das minhas aulas foi em Java.Também aprendi recentemente C# (e o ambiente Visual Studio) em um estágio de verão.Agora estou fazendo uma aula de Introdução à Computação Gráfica e o aluno de pós-graduação que dá a aula prefere que usemos C++ para acessar as ligações OpenGL via GLUT.

Alguém tem bons recursos sobre como fazer uma boa transição de Java/C# para C++?Obviamente, as dicas serão um grande problema, mas há outras coisas que eu deveria procurar?Quaisquer tutoriais, guias, etc.seria muito útil!

Obrigado!

Foi útil?

Solução

Sim, fui picado pelo mesmo bug.A universidade tendia a se apoiar em Java e permitia que você escolhesse a linguagem com a qual queria trabalhar durante os projetos.

A melhor maneira é simplesmente entrar.Comece aos poucos, dê pequenos passos e apenas pesquise no Google coisas que o confundem quando você chegar lá.Encontre também projetos que lançaram seu código-fonte.Veja como eles estruturam seus programas.Basicamente, basta mexer nos conceitos.Há muitas informações na web.

Divirta-se e pegue um Livro de desenvolvimento de jogos C++ para que não fique entorpecente muito rapidamente.

Aqui estão alguns lugares que achei úteis enquanto aprendia

http://www.cprogramming.com/

http://www.wikipedia.com

http://www.cplusplus.com/

Outras dicas

Se você já conhece Java/C#, recomendo ir diretamente para C em vez de C++.De acordo com o site, GLUT tem as mesmas ligações para C e C++, então você deve estar pronto.De qualquer forma, a melhor maneira de aprender C é comprar e ler uma cópia de "The C Programming Language" e sentar-se com seu compilador C e fazer seu material funcionar.

Effective C++ de Scott Meyers é um ótimo livro para ajudá-lo a aprender C++.Fornece uma visão geral da linguagem e apresenta vários conceitos-chave que você usará ao longo do desenvolvimento de basicamente qualquer programa C++.

Effective C++ de Scott Meyers é um ótimo livro para ajudá-lo a aprender C++.Fornece uma visão geral da linguagem e apresenta vários conceitos-chave que você usará ao longo do desenvolvimento de basicamente qualquer programa C++.

Adoro este livro em todas as 3 edições, e foi um dos livros de uma aula que tive quando estava no último ano da UT, mas simplesmente não é um livro inicial.Você pode se sentir confortável em C++ com muito menos, embora certamente não se sinta confortável com o compilador até ler o trabalho de Meyer.

Não sei se ainda está impresso, mas encontrei Navegando em C++ útil, mas também fiquei muito confortável com as dicas de Pascal.Err, claro, estou esquecendo que há 15 anos você tinha que aprender o que era OOP, agora é um pouco mais presumido.Então talvez o de Meyer não esteja fora de linha.Pensamentos?

A Wikipédia tem um artigo sobre comparações entre Java e C++.

Você não precisa se preocupar com exceções verificadas em C++, mas precisa saber sobre correção constante.

Existem duas diferenças principais:a sintaxe e o gerenciamento de memória.

Em C++ você tem ponteiros, que são referências de objetos mais poderosas (ou menos poderosas dependendo da sua interpretação de poder), que você já conhece em Java.

Em Java você pode fazer isso:

Thing mything = new Thing(); // mything is an object reference
mything.method();

Em C++ você faria isso:

Thing * mything = new Thing(); // mything is an object pointer
mything->method();
delete mything;

A diferença sintática é óbvia:'->' em vez de '.' Ao chamar um método de objeto de um ponteiro para um objeto.Em C++, você precisa liberar a memória explicitamente quando terminar de usar um objeto.No final das contas você está fazendo a mesma coisa em C++ e Java, instanciando objetos e chamando métodos, colocando ponto-e-vírgula inútil no final de cada linha, etc.É de admirar que o Python esteja se tornando tão popular?:

mything = Thing() # mything is whatever I want it to be
mything.method()

Percorrer qualquer texto C++ decente ajudará você a preencher o restante dos detalhes.

Eu também recomendo completamente o de Bruce Eckel Pensando em C++.Um livro fantástico para programadores já experientes que desejam entrar na mentalidade C++.

Ele é gentil o suficiente para fazer versões eletrônicas de seus livros disponível gratuitamente.

Eu recomendo fortemente que qualquer pessoa que aprenda C ++ leia a Stroutrups "a linguagem de programação C ++". Meyers e Eckel têm ótimas coisas, mas nada supera aprender com o cara que decidiu o que deveria ser o idioma e como ele pretendia que fosse usado.

Eu tinha exatamente o mesmo problema.O único livro que consegui encontrar foi "Pro Visual C++ 2005 para desenvolvedores C#" por Dean C.Testamentos.É uma boa leitura com excelentes exemplos, e acho que o ângulo de onde o livro vem é provavelmente o que você está procurando.

Você precisará de uma sensação completamente diferente para lidar com a memória.Pense também em liberar tudo que você não precisa mais.Em Java e C# você simplesmente solta seus objetos e a memória fica organizada para você - você não pode fazer isso em CPP

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