|
Nesse site, esperamos que você já tenha um conhecimento básico da linguagem C++. Se não é o seu caso, recomendamos que você aprenda com algum dos materiais descritos nesse artigo.
Para quem está começando
Começar é um passo difícil. É importante escolher um livro didático. Qualquer um dos livros abaixo se enquadram nesse caso, basta escolher um deles. Note que os livros já são de C++. Não recomendamos iniciar os estudos através do C, justamente por conter um estilo de programação que não é mais usado em C++, assim, você evita vícios.
Programação Orientada a Objetos em C++, do prof. André Duarte Bueno (UFSC): Ótimo material, em português e disponível para download gratuitamente aqui.
C++ Como Programar, Deitel: Para quem nem sabe programar, ou não sabe nem C e C++. O livro é muito didático, indiscutivelmente melhor que o livro de java do mesmo autor. E com a vantagem de ensinar C++, sem te viciar no estilo C. Ainda assim, há vários comentários que explicam a diferença das duas e no que o estilo C++ é superior ao C.
C++: A Beginner's Guide, Second Edition : Para quem já tem uma certa noção de programação (não precisa ser expert) mas quer aprender C++.
Programming: Principles and Practice Using C++ : Livro básico da linguagem C++, escrito pelo próprio Bjarne Stroustrup, criador da linguagem. O livro não aborda apenas C++, mas conceitos e técnicas fundamentais de programação.
Accelerated C++: Practical Programming by Example , do Andrew Koenig: Para quem não sabe C, e nem quer saber, mas quer aprender C++;
Você não precisará saber muito além disso para entender os artigos de C++ desse site. Entretanto, caso você tenha interesse em se aprofundar na linguagem, a lista de livros abaixo também é recomendada.
Para quem já sabe C++:
Essa lista é uma espécie de RoadMap. O ideal é pegar cada um desses livros mais ou menos nessa ordem. Dá para trocar a ordem dos dois primeiros, eles são igualmente importantes. O último livro da lista é extremamente conceitual e profundo, mas é legal se você quiser ter um entendimento teórico mais forte sobre os patterns envolvendo templates usados na STL (e que, portanto, podem ser usados no dia-a-dia).
The C++ Standard Library: A Tutorial and Reference de Nicolai M. Josuttis: programar em C++ hoje sem saber a STL é abrir mão de quase trinta anos anos de evolução da linguagem.
Effective C++ , do Scott Meyers: Faz você programar C++ de verdade, e não C com classes. Se você ainda usa #define para fazer constantes, ou não sabe para que declarar um método como const, leia esse livro;
More Effective C++ , do Scott Meyers: Uma boa extensão ao Effective C++.
Effective STL , do Scott Meyers: Saiba boas e más práticas envolvendo a STL;
Beyond the C++ Standard Library: An Introduction to Boost , do Björn Karlsson: Para quem quer entender bem as coleções extras da boost e o esquema de “garbage collection” via smart pointers que é possível com C++;
C++ Templates: The Complete Guide , de David Vandervoorde e Nicolai M. Josuttis: O guia mais completo, didático e explicativo sobre templates. Cobre desde a sintaxe básica até usos bastante avançados. Dá dicas de design e uso inteligente da programação genérica e meta-programação.
Modern C++ Design , de Andrei Alexandrescu: Definitivamente um dos melhores e mais importantes livros sobre design patterns envolvendo templates. Ajuda a entender os Allocators da STL, por exemplo. Entretanto, saibam bem templates antes de começa-lo. Ele é definitivamente um complemento ao livro anterior;
Não incluí nessa lista nenhum livro sobre sistemas operacionais específicos.
-
13/12/2009 15:51:48 | Vinícius Godoy de Mendonça

Online geralmente você só encontra material básico, como o livro do André Bueno, indicado.
Ou artigos esporáticos, como os do GamaSutra, Artima, Informit, entre outros sites.
Os livros são muito melhores pois apresentam o conteúdo de maneira mais didática e completa.
-
23/12/2009 00:22:48 |189.48.162.xxx| Alan

Muito bom livros.
sobre a pergunta do nosso amigo ali em cima. existe um bom site de C++: http://www.cplusplus.com/
Abraços
-
26/05/2010 11:27:44 |189.13.215.xxx| Luiz Gustavo - Apostila

O primeiro link não esta abrindo a pagina carrega mas não abre. vlw
-
26/05/2010 11:37:17 | Vinícius Godoy de Mendonça

Clique com o botão direito no link e use a opção de "Salvar como". Ele vai gravar um pdf no seu computador. Aí é só abri-lo com o reader.

-
01/06/2010 15:07:42 |189.54.102.xxx| Jessica

Gostaria de saber quais livros vc indicaria voltado para área de games.
Grata
-
01/06/2010 15:26:00 | Vinícius Godoy de Mendonça

Oi Jessica. A área de games é muito vasta. Seu interesse é em programação? Game design? Se for em programação, é em alguma área específica como IA?
-
01/06/2010 15:48:16 |189.54.25.xxx| Anônimo

Então, gostaria de saber da parte de programação.
Já trabalho com jogos, jogos educativos, mas em ActionScript 2 e 3.Gostaria de aprender c++, pois é a linguagem que as grandes empresas pedem.
Se poder ajudar, ficarei grata!
-
01/06/2010 15:54:18 | Vinícius Godoy de Mendonça - Livros de C++

Então, os primeiros livros desse roadmap são bons para aprender a linguagem C++ em si. E há muito o que aprender, antes de entrar na parte de jogos em si.
A linguagem é muitíssimo mais complexa que o ActionScript.
Para a parte de jogos, tem o livro C++ for Game Programmers, do Dickheisen. Para jogos 2D, você pode pegar o livro Focus on SDL, que mostra uma boa API para jogos mais simples.
-
27/12/2011 16:04:04 |186.222.249.xxx| Anônimo

Só uma pequena correção a respeito do livro citado "C++ for Game Programmers" foi escrito por Mike Dickheiser e não Dickheisen.
-
29/08/2010 15:44:23 |189.115.154.xxx| Otto

Esse da MS é voltada para Windows e a IDE deles ou portável?
Um outro que vi e você pode avaliar (tem na web) é o A Quick Introduction to C++, de Tom Anderson.
-
29/08/2010 16:27:13 | Bruno Crivelari Sanches

Sim, ele é sobre C++ padrão, não tem nada de Windows nele...
-
29/08/2010 16:29:39 | Vinícius Godoy de Mendonça

O livro é da MS Press, mas é sobre C++ genérico. Pena que é do Schildt. Não gosto muito desse autor.
Os mais recomendados pela comunidade são os dois últimos, do Koenig e do Stroustrup.
-
01/09/2010 13:42:58 |200.217.114.xxx| Ottavio

Muito boa a indicação desses livros.
Amigo, eu queria saber o seguinte: eu já tenho o C++ Como programar, 5ª edição. Se eu lê-lo e fizer todos os exercícios com muita dedicação eu já posso partir para a segunda etapa, ou seja, comprar os livros do "Para quem já sabe C++" como você sugeriu? Vc acha que apenas o livro dos Deitel dá conta para eu ser "aprovado" na primeira etapa ("Para quem está começando"
?
-
01/09/2010 13:48:46 | Vinícius Godoy de Mendonça

Sim, a partir do momento que você se sentir confortável com a sintaxe da linguagem, pule para a segunda etapa.
-
11/10/2010 17:32:25 |186.212.37.xxx| Victor - Obrigado.

http://www.guj.com.br/posts/list/221126.java
Obrigado pela recomendação no link acima, já percebi que valeu a pena.
-
28/10/2010 21:28:12 |189.101.243.xxx| Lucas Rinaldi - Dúvida

Amigo, estou pensando em comprar o livro do Deitel, queria saber se estudando todo ele eu já consigo ter uma base pra aprender a área de jogos?
Abraço!
-
29/10/2010 07:04:22 | Vinícius Godoy de Mendonça - Deitel

Consegue sim, o livro é muito bom. Entretanto, você terá uma boa base de C++. Ele não fala de jogos.
Com essa base, você poderá seguir um tutorial como o do lazyfoo ou os encontrados nesse site.
-
17/02/2011 21:30:30 |200.165.239.xxx| Carolina Fantini - Dúvida

Bom, eu to querendo fazer um emulador de Ragnarök Online usando engenharia-reversa, mas não sei se uso C++ com Lua ou C++ com JS.
Pode me dar um help ?!
-
28/05/2011 18:03:12 |187.11.107.xxx| Wanderson

Vinícius aonde eu posso conseguir este livro C++ Como Programar, Deitel? E se ele é em português.
-
29/05/2011 07:31:01 | Vinícius Godoy de Mendonça

Ele é em português sim. E está disponível em praticamente qualquer livraria. Na internet, você pode encontra-lo no submarino, FNAC e eu já vi até nas Lojas Americanas.
Dica: A última edição costuma a ser muito cara, compre uma edição anterior.
-
06/06/2011 10:04:49 |189.85.128.xxx| Gstavo Machado Broering

A última edição em português seria a 5ª?
Nada justifica o preço de R$ 320,00 em um livro de 5 anos atrás e que custa US$ 42,00 na Amazon!
Incluindo frete + impostos o mesmo sai por menos de R$ 100,00, 1/3 do valor!!
Mesmo importando a última edição. sai "meros" R$ 200,00, já contando com frete e impostos!Para quem sabe inglês, fica a dica!
Para quem não sabe, fica a dica de começar a aprender!
-
06/06/2011 10:23:51 | Bruno Crivelari Sanches

Importação de livros não tem impostos, vai ser USS42 + frete, não vai chegar nem perto de 200 reais.
Para quem não sabe inglês tai uma boa dica, o que você economiza com livros desatualizados e com erros de tradução, você usa para pagar o curso
.T+
-
06/06/2011 10:34:28 |189.85.128.xxx| Gustavo Machado Broering

Desculpe, o imposto que eu quis dizer era o IOF. Esqueci de especificar
E 200 reais sai a 8ed (última), essa custa US$ 100, mesmo assim sendo mais em conta
-
07/06/2011 23:39:26 |200.158.46.xxx| Wanderson

Vou ver se eu consigo comprar um usado mesmo, não tenho todo esse dinheiro.=/
-
21/08/2011 22:01:53 |189.81.106.xxx| Vinícius

Com o novo padrão vindo, o C++0X, ainda compensa ler estes livros introdutórios ou esperar até lançarem algum mais atualizado com este novo padrão?
-
21/08/2011 22:10:08 | Vinícius Godoy de Mendonça

Oi Chará,
Compensa sim, pois o basicão da linguagem quase não se altera. Você pode facilmente pegar um livro depois que só explique as mudanças e se atualizar para o C++11.
Um livro atualizado desses básicos deve demorar um bocado para aparecer, principalmente em português.
-
21/08/2011 22:16:50 |189.81.106.xxx| Vinícius

Obrigado pela resposta, vou decidir então qual destes livros eu compro.
-
21/08/2011 22:18:26 | Vinícius Godoy de Mendonça

A wiki americana tem um ótimo sumário das mudanças, com exemplos:
http://en.wikipedia.org/wiki/C%2B%2B0x
-
06/10/2011 10:50:21 |200.18.170.xxx| sergio rodrigues - Vale a pena C++ e duvidas livro do bueno

Vinicius primeiramente parabéns pelo site e pelo seu trabalho.
Gostaria de saber se vale a pena investir hoje em C++, pois ja estudo ela na faculdade e gostaria de especializar com esses livros que vc colocou, mas tenho medo de entrar de cabeça em uma coisa que depois fique para trás, ou que não tenha emprego mercado e dai eu tenha que partir para outra linguagem e começar do zero de novo. Fico na duvida com relação a outras linguagens como Java e .net, e tenho interesse em Python também, quero investir em c++ com foco em sistemas distribuidos e inteligencia artificial inclusive se vc puder postar livros bons de IA, foram o ja conhecido do Norvin.
Duvida com relação ao livro do bueno pagina 317 - Executando e enviado comandos para outro programa, não consigo funcionar o exemplo dele erro na linha >> opfstream, vc tem alguma ideia, existem algum comando novo, ja procurei no google e não achei nada consistente dessa opfstream.
-
06/10/2011 11:02:24 | Bruno Crivelari Sanches

Sobre investir em C++, é uma boa, existe mercado sim e muito e em compensação é um mercado geralmente mais interessante, em grande parte concentrado em sistemas embarcados e mercado financeiro. Todos com grande foco em desempenho e códigos otimizados, então se gosta de escovar bits é uma boa.
Hoje aparentemente a parte mais forte de TI é WEB e nessa parte você vai encontrar C++, se quer ir para esse mercado, então esqueça.
Agora sobre investir numa linguagem e depois ter que aprneder tudo de novo, olha, só se você apenas decorar comandos da lnguagem. Se você sabe programar, linguagem é apenas um meio e não existo isso de aprender tudo de novo ao trocar de linguagem.
T+
-
06/10/2011 13:32:17 | Vinícius Godoy de Mendonça

A maior parte dos sistemas industriais ainda é desenvolvida em C++. Junte isso aos sistemas de caixinha, jogos e hardware, e você vai ver que o mercado é quase tão grande quanto o de linguagens web.
Porém, é um mercado diferente. A indústria exige outros tipos de conhecimento (programação windows, sistemas de tempo real, protocolos de comunicação, etc.) dependendo da área que você queira atuar com o C++.
A oferta de emprego é um pouco mais escassa, mas as vagas costumam a ser mais bem remuneradas, justamente por saberem que o profissional de C++ costuma a ter uma qualificação maior.
-
09/10/2011 19:13:51 |187.110.168.xxx| Sidney Bruno - Iniciante

Eu sei absolutamente NADA sobre esse assunto! Mas quero aprender, e graças a esse tutorial eu sei por onde começar!
Bom trabalho!!
-
29/11/2011 08:08:42 |81.193.128.xxx| Harry ramos

Olá pessoal estou no meu segundo ano do curso de informática e o meu professor de Linguagem de Programação pediu-me para fazer um projecto e eu queria fazer um projecto sobre gestão de uma biblioteca. Agradecia muito se me ajudassem
-
29/11/2011 09:12:04 | Bruno Crivelari Sanches

Nosso enfoque aqui é no desenvolvimento de jogos, para outros assuntos relacionados a C/C++, recomendo o grupo CCPPBrasil: https://groups.google.com/forum/#!forum/ccppbrasil
-
05/01/2012 22:23:38 |186.214.232.xxx| Iuri

Acabei de achar esse site por um post na GUJ, que achei pelo google.
Muito bons os livros. Uma informação, há, em inglês, uma copia do livro do Deitel que vem gratuitamente em um programa de C++ (acho que é o da microsoft).
-
01/02/2012 14:04:27 |201.88.196.xxx| Adriano S. Lima - Adriano S. Lima

Minha dúvida é a seguinte, peguei muito material da linguagem C, mais achei o site daqui, olhando bem fiquei na dúvida se aprendo C ou C++?
Se começo já com o Visual C++?
-
01/02/2012 15:28:46 | Vinícius Godoy de Mendonça

Depende muito do seu foco.
Você quer programar firmware e software embarcado? Vai estudar engenharia da computação ou engenharia eletrônica? CQuer fazer jogos e aplicações comerciais? C++
-
01/02/2012 22:17:17 |201.88.196.xxx| Adriano S. Lima - Lima

Vinícius, obrigado pelo sua orientação !
Seria mais aplicações comerciais, jogos depois um pouco a frente.
Então Visual C++ é mais indicado para iniciante?Obrigado
-
02/02/2012 06:22:32 | Vinícius Godoy de Mendonça

Não. C é mais indicado para aplicações de baixo nível, como firmwares.
Pode seguir esse roadmap tranquilo.
-
26/03/2012 21:58:36 |187.59.193.xxx| Mario

Estou com uma duvida parecida... Gostei do Roadmap, mas pretendo fazer engenharia da computação.. Teria algum livro de C, ou até com as duas linguagens para recomendar?
Grato
-
27/03/2012 09:30:24 | Bruno Crivelari Sanches

Com as duas linguagens nunca vi, geralmente o livro de C++ aborda conceitos básicos do C, pois as linguagens tem muito em comum.
Se quer um livro de C, recomendo o livro dos próprios criadores, o melhor na minha opinião: C A linguagem de programação padrão Ansi, Brian W. Kerninghan, Dennis M. Ritchie, Ed Campus
T+
-
27/03/2012 21:38:03 |177.42.228.xxx| Mario

É que to pensando em comprar Linguagem C/C++: A Biblia e pelo que parece começa abordando o C e depois passa para o C++. Baixei o e-book gratis descrito aqui e tava me ajudando, até eu pensar em estudar C. E qual é melhor para começar a estudar, C ou C++?
Grato
-
28/03/2012 11:52:35 | Bruno Crivelari Sanches

Depende do que você quer, eu geralmente sugiro aprender C primeiro, pois muitos conceitos básicos do C++ são coisas de C e acho mais simples aprender estudando C do que C++.
Por outro lado, com um bom livro de C++ você já vai estudar técnicas modernas de programação C++ e OO, que pode ser bem útil.
T+
-
28/03/2012 18:31:51 |187.114.142.xxx| Mario

Bom, como disse, pretendo fazer engenharia da computação e ao que me parece nesta area se trabalha muito com criação de drivers (até por isso escolhi ela). Então esse será o principal foco.. Mas parece que a grande maioria é escrita em C, tanto para Linux quanto para Windows, e como tambem quero fazer alguns programas de computador e para celular, utilizando C++, fiquei um tanto confuso. Mas já que tanto o meu foco, para E.C., quanto a forma como drivers são feitos sugerem aprender C primeiro, acho que vou por esse caminho.
Vou procurar esse livro que disse e mais alguns pra aprender C.
Grato
-
02/02/2012 21:03:27 |189.34.82.xxx| Paulo - Programação de imagem

Vinícius,
tenho lido algumas ótimas "dicas" de java, sou novato em java, deixei a programação no dataflex, cobol em 1993. muitíssimo obrigo.
amigo, sou de ctba e gostaria de trocar figurinhas com algum programador que entenda muito de manipulação de imagem (localização de obejtos, áreas, etc). Tem alguém para indicar.
obrigado.
Parabéns por compartilhar seu vasto conhecimento em programação.
-
02/02/2012 22:15:03 | Vinícius Godoy de Mendonça

Oi. Eu tenho trabalhado com isso nos últimos anos. Você também pode falar com o juliocbq, do GUJ.
Aqui em Curitiba, conheço alguns professores de processamento de imagens da PUC e da UFPR que talvez possam ajudar.
O que vc pretende fazer?
-
10/02/2012 16:11:15 |187.52.15.xxx| Tiago - Livro de C#

Por um acaso teria um livro bom de C# para quem esta em um nivel intermediario??
obrigado
-
10/02/2012 16:13:25 | Kleber Andrade

Ola Tiago, eu desconheço bons livros de C# porém você me deu uma boa idéia de começar uma série de artigos do básico ao avançado falando de C#.
[]s
-
15/03/2012 00:42:26 |189.27.87.xxx| Douglas - Profissão TI

Olá Vinícius Godoy de Mendonça, cara vejo que você possui grande conhecimento em programação.
Você fez faculdade?? qual?? onde??E com todo esse conhecimento você consegue um bom retorno financeiro??
Até mais, e parabéns pelo trabalho desenvolvido aqui.
-
15/03/2012 10:41:46 | Vinícius Godoy de Mendonça

Depende do que você considere "bom retorno financeiro".
Se for o suficiente para você ter uma casa, um carro, poder sair nos finais de semana e não ter grandes preocupações nesse campo, sim, existe um bom retorno financeiro na área. Certamente esse retorno não será no seu primeiro emprego, mas não é difícil chegar lá.
Agora, se você quer ter dinheiro para esbanjar (ter sempre um carro do ano, fazer viagens internacionais / cruzeiros nas férias, ou esnobar seu vizinho), aí, essa a área errada para você. Nesse caso, tente uma carreira como político, funcionário público, na Medicina ou no Direito.
Entretanto, você estará abrindo mão de uma área com um pé no futuro, e que é intelectualmente muito empolgante.
-
28/03/2012 11:42:44 |201.9.227.xxx| Bruno - Gostei

Gostaria de saber, qual o melhor livro "Para o que ta começando" e o melhor livro "Pra quem já sabe C++" ?, pra num ter que ficar baixando todos.
-
28/03/2012 11:50:57 | Bruno Crivelari Sanches

No artigo no item "Para quem esta começando" são propostas 5 opções de livros / apostilas, escolha o que achar mais interessante e estude ele.
-
28/03/2012 11:56:22 | Vinícius Godoy de Mendonça

Todos os livros indicados são muito bons. O problema é que é difícil saber o que você interpreta como "melhor".
Por isso, ao lado de cada livro, há uma descriçãozinha. Leia e veja em qual você se enquadra. Isso vai depender se você já sabe ou não programar em outras linguagens, se quer ou não quer aprender C além do C++, se você aprende melhor por exemplos ou não, etc...
-
28/03/2012 12:17:23 |201.9.227.xxx| Rafa

Todos os livros são em inglês? exceto os dois primeiros livros.
ou se tiver em português, onde encontrar?Vlw (:
-
28/03/2012 12:20:59 | Bruno Crivelari Sanches

Como você mesmo concluiu, nem todos são em inglês. Os livros em português são facilmente encontrado em qualquer livraria virtual grande.
O primeiro é em português e pode ser baixado aqui no site mesmo.
-
09/04/2012 11:03:52 |189.77.4.xxx| Eduardo Ribeiro - GT

Bom dia, já programo a bastante tempo com Delphi e Java e estou engatinhando no mundo C++, mais voltado para a área mobile.
Vocês indicam o uso de Qt (Nokia)?
Teriam alguma indicação de literatura em Qt?
-
09/04/2012 11:56:28 | Vinícius Godoy de Mendonça

Eu indico. Acho um framework sensacional.
O próprio site tem muitos exemplos e uma documentação excelente. Nunca precisei recorrer a livros ou tutoriais de terceiros.
-
09/04/2012 12:26:09 |189.77.4.xxx| Eduardo Ribeiro

Realmente tem bastante coisa no site.
Vi alguns exemplos mas fiquei meio perdido. Talvez por não estar familiarizado com a estrutura de arquivos do C++ e juntando ainda com qml.
Estava procurando um passo a passo de como montar um projeto. Tipo "Comece pela configuração do arquivo .pro, depois monte os headers e classes associadas, e por aí vai, explicando o objetivo de cada um."Vou ver os livros indicados e depois partir para o Qt.
Valeu.
-
10/04/2012 16:38:10 |186.241.60.xxx| Weslly Lindemberg

To começando a programar agora mas na minha Faculdade so abordamos Java...
So que eu queria apreder c++ vc axa q se eu tentar aprender c++ vendo java na faculdade uma linguagem vai atrapalha o aprendizado da outra?
-
13/04/2012 16:20:41 | Vinícius Godoy de Mendonça

Isso varia muito de pessoa para pessoa. Mas geralmente, entender uma linguagem ajuda no desenvolvimento de outra.
-
13/04/2012 16:18:01 |187.79.78.xxx| Weslly Lindemberg
Weslly Lindemberg Escreveu:To começando a programar agora mas na minha Faculdade so abordamos Java...
So que eu queria apreder c++ vc axa q se eu tentar aprender c++ vendo java na faculdade uma linguagem vai atrapalha o aprendizado da outra?Acrescentando a minha pergunta, na minha região a area mais perto que tem para programação de games e a engenharia de software sera q eu posso migra de engenheiro de sofware para progamador de games?











Æ!!
Bem legal o post!
Gostaria de saber se existe bons materiais on-line, por que vi que a grande maioria das referências que você postou são livros e etc.
Indica boas referências para conteúdo online?
Há braços