Pergunta

A última vez que usei fortemente o C ++ foi há anos e foi estritamente feito na plataforma do Windows. Especificamente, usei o Microsoft Visual Studio como meu IDE e desenvolvi alguns padrões habituais para usar a versão C ++ da Microsoft. Por exemplo, eu usei void main () em vez do padrão int main ().

Agora, estou participando de uma aula em que é necessário desenvolver programas para ser compatível com ANSI C ++ e o código será compilado usando o G ++. Eu aprendi rapidamente que sistema ("pausa") Não funciona no G ++ e provavelmente é uma coisa da Microsoft.

Alguém sabe de bons recursos (sites, tutoriais, livros) em que posso aprender o que mais a ser melhor reclamação do ANSI C ++?

Obrigada.

Foi útil?

Solução

Eu recomendo esses dois:

  • Comp.lang.c ++ Usenet NewsGroup. Se você conseguir se apossar de um bom provedor de serviços do USENET e usar um leitor de notícias, poderá se livrar do spam. eu uso Eterno-September.org, e gosto muito.
  • Leia o FAQ C ++. Tem muita informação excelente.

É verdade que os dois não são terrivelmente ótimos se você quiser uma introdução tutorial ao C ++, mas parece que você já conhece algum C ++ e precisa aprender mais e corrigir maus hábitos. Pela minha experiência pessoal, os dois acima são altamente úteis para fazer exatamente isso.

Sobre comp.lang.c++, certifique -se de ler totalmente as perguntas frequentes deles e se esconder um pouco antes de postar. O mesmo se aplica ao StackOverflow, é claro, embora a espreita possa não ser necessária aqui.

Usando g++, compilar seus programas com g++ -ansi -pedantic -Wall -Wextra -Weffc++, e certifique -se de entender todos os avisos. Eu uso:

g++ -Wextra -Wall -Weffc++ -ansi -pedantic -Woverloaded-virtual \
-Wcast-align -Wpointer-arith

Outras dicas

Se você estiver usando G ++, compila com os sinalizadores -Pedantic e -std = C ++ 98. O único padrão para ANSI C ++ é realmente o documento padrão ISO, que não pode ser recomendado para um iniciante. Você está enganado sobre o sistema ("pausa"), a propósito - o sistema () faz parte do ANSI C ++ - seu parâmetro não é padronizado, no entanto.

A maioria dos livros C ++ será agnóstica da plataforma (é claro, a menos que sejam feitos especificamente para C ++ visual). Aqui estão alguns bons livros que são recomendados pelos profissionais em ## C ++

O GCC fará um bom trabalho ao dizer quando seu código não for compatível com ISO C ++ (não que seja um padrão ISO, não um padrão ANSI). Defina as opções de aviso -werror -wall e simplesmente conserte todos os avisos; Você logo sai de hábitos não compatíveis e a certa e menos avisos.

Existem muitos bons tutoriais GCC, tem uma bandeira que garantirá que o código também seja compatível com a Ansi C, gcc -ansi -Wall -fsyntax-only -pedantic

* Wall - turn on all errors
* ansi - use strict ANSI C specification
* fsyntax-only - only checks syntax
* pedantic - reject violations

Por, além de comentários, você pode usar * -wextra para ativar alguns avisos extras,

atualizar Obrigado pela atualização sobre capitalização. E menção de -Pedantic

Muitos fãs do GCC.

As bandeiras importantes para compilar no Visual Studio para serem o mais rigorosas possível são:

cl /Za /W4 ...rest of command...

/ZA desativa as extensões específicas da Microsoft e /W4 é o nível de alerta mais alto (exceto /parede, que reclama de coisas ridículas).

Eu também recomendo que você use uma versão moderna do Visual Studio - as versões antigas (VC6) eram ridiculamente não conformes, e a Microsoft finge oficialmente que eles nunca existiram neste momento.

Eu recomendaria.

Sites:

Livros:

  • C ++ eficaz
  • STL eficaz
  • design moderno de C ++
  • Modelo metaprograma

conversando / ouvindo especialistas e entender o que eles têm a dizer e por quê.

O C ++ Primer (4ª ed) parece ser o melhor livro para iniciantes hoje em dia, pois adota uma abordagem moderna e ensina todas as partes importantes do idioma. O C ++ acelerado é outro livro frequentemente recomendado pelos profissionais e serve como uma boa introdução, mas eu não recomendaria mais comprá -lo porque o C ++ Primer o substitui muito bem e cobre melhor o idioma.

Nota: C ++ Primer Plus (que é um livro bastante ruim) não tem nada a ver com o C ++ Primer.

A linguagem de programação C ++ da Stroustrup sempre precisa ser mencionada, é claro, porque é escrita pelo pai do idioma. Muitas pessoas acham esclarecedor, mas eu pessoalmente não o recomendaria para aprender o idioma.

Todos os livros que mencionei apenas descrevem o padrão ISO sem extensões não padrão. Os programas nesses livros devem funcionar com qualquer compilador C ++.

Gosto de visitar www.cplusplus.com sempre que tenho uma dúvida, especialmente sobre a biblioteca C ++ padrão.

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