Discussão:C++
Este artigo foi avaliado com qualidade 3 em 23 de agosto de 2011 e faz parte do âmbito de 2 WikiProjetos: Ciência da computação e WP Offline. | ||
---|---|---|
Para o WikiProjecto Ciência da computação este artigo possui importância 4. Se você se interessa pelo assunto, visite o projeto para conhecer as tarefas e discussões em curso. | ||
Para o WikiProjeto Wikipédia Offline este artigo possui importância 1. Se você se interessa pelo assunto, visite o projeto para conhecer as tarefas e discussões em curso. | ||
Se não tiver suas questões respondidas nesta página de discussão procure o(s) wikiprojeto(s) acima. |
Exemplos de código editar
Acho que poderiamos: 1º - Tirar aquele primeiro exemplo e deixar a explicação dele no "Hello World!". 2º - Mover os exemplos para uma página "C++/Exemplos de código" para resolver o problema da "página mais de 42 Kilobytes". O que acham? —o comentário precedente deveria ter sido assinado por Wbrito (discussão • contrib) 13h58min de 28 de novembro de 2006
C++ Builder editar
Por que naquela tabela não tem o C++ Builder? —o comentário precedente não foi assinado por 201.26.67.194 (discussão • contrib.)
- Por um mero lapso em sua tradução, agora está corrigido. Obrigado pela observação. Leonardo Stabile msg 05:51, 29 Outubro 2006 (UTC)
Dev-C++ editar
Na minha opnião, o Dev-C++ não deve ser colocado na parte de compiladores de C++, pois ele é um IDE. Eu tomei liberdade de retirá-lo da tabela de compiladores. --Ricvelozo 20:16, 14 Abril 2007 (UTC)
- Concordo, inclusive não é primeira vez. Entretanto, um artigo sobre C++ sem o Dev-C++ pode parecer incompleto para muitos, dada sua popularidade. Sugiro que a seção "Compiladores" seja renomeada para "Compiladores e IDE". Tabelas distintas não me parece a melhor solução pois resultaria na repetição de itens como Microsoft Visual C++. Para isso muda-se a tabela, retirando a coluna "Apresenta IDE?" em favor de duas colunas: "É IDE?" e "É compilador?". Leonardo Stabile msg 20:26, 14 Abril 2007 (UTC)
- Gostei da idéia do Leonardo Stabile. Mas não seria melhor se tivesse duas seções separadas como: Compiladores, e Ambientes de Desenvolvimento Integrado (ou IDE). Aí na seção das IDEs, colocaria se inclue algum compilador e se inclue, qual. O que acham ? Quem gostou da idéia, faça a mudança no artigo, pois eu estou um pouco ocupado, então pode demorar para eu fazer as mudanças. --Ricvelozo 01:39, 22 Abril 2007 (UTC)
- Entre outras adições ao artigo, implementei a idéia das colunas novas. Leonardo Stabile msg 02:15, 22 Abril 2007 (UTC)
Linguagem livre editar
C++ deveria ser considerada uma linguagem livre, pois a unica coisa que é comercial nela, é seu compilador, e talvez, sua biblioteca (ainda que exista também bibliotecas e compiladores opesources).
--Ricvelozo 01h20min de 15 de Julho de 2007 (UTC)
- Por linguagem livre entende-se linguagem reconhecida pela Open Source Initiative. Linguagens como PHP e Python são reconhecidas (ver em http://www.opensource.org/licenses/pythonpl.php), C++ não. Uma lista completa está disponível em http://www.opensource.org/licenses/alphabetical. Não que o uso do C++ seja restrito, apenas não é reconhecido. --Leonardo Stabile msg 08h15min de 17 de Julho de 2007 (UTC)
- Entendi. O que acha de colocar então, em contraste ao linguagens livres, linguagens proprietárias ? (atualmente está como linguagens comerciais). Não só C++, mas todas as outras linguagens do tipo, como C, Delphi, etc...
- --Ricvelozo 17h40min de 21 de Julho de 2007 (UTC)
- É válido, mas aí a caixa terá somente uma divisão: livres ou proprietárias. Penso que da forma atual está com mais informação, com várias divisões, ainda que algumas linguagens poderiam estar em mais de uma categoria. --Leonardo Stabile msg 22h43min de 22 de Julho de 2007 (UTC)
- --Ricvelozo 17h40min de 21 de Julho de 2007 (UTC)
- Ok, entendido. --Ricvelozo 21h18min de 28 de Julho de 2007 (UTC)
Tipagem fraca editar
C++ não pode ser citada como sendo uma linguagem de tipagem fraca, pois a mesma requer que um tipo contenha um valor de mesmo tipo; o compilador não faz a conversão automaticamente. Então, eu concluo que C++ deve ter apenas tipagem forte.
--Ricvelozo 01h29min de 15 de Julho de 2007 (UTC)
- Entramos aqui em um dos assuntos mais discutidos nas listas de discussão, e que está longe de um consenso. Quando geralmente utiliza-se C nas comparações com outras linguagens, mas C++ acaba caindo na mesmo categoria de C pela funcionalidades herdadas. Quando você diz que o compilador não faz conversão automaticamente, está correto em 99,99% dos casos, mas C++ herdou coisas do C como:
int x = 80;
float y = a;
- Para qualquer outro tipo de dado criado pelo utilizador deve existir um construtor explícito para o tipo de dado, para alguns tipos nativos a conversão é implícita. O C++ "corrigiu" as enumerações para proibir a conversão implícita para int, outro fato de tipagem fraca do C. Outro fator que já se falou mas que atualmente considera-se não irrelevante é a conversão de void*.
- Resumindo, C++ é sem dúvida uma linguagem com tipagem muito mais forte que um PHP da vida por exemplo, é muito mais "verbose mode" como falam. Mas C++ herdou do C alguns casos de conversão implícita: se esses poucos exemplos podem ser considerados determinantes para considerar a linguagem como de tipagem fraca, não há consenso. Leonardo Stabile msg 03h20min de 15 de Julho de 2007 (UTC)
- Ok, entendi. --Ricvelozo 03h37min de 15 de Julho de 2007 (UTC)
Dialetos (e pronúncia) editar
Acho que C++98 e C++2003 não são dialetos, porque o C++2003 incluiu apenas pequenas correções e clarificações (a única que eu me lembro é a garantia dada no C++2003 de que um std::vector é alocado de modo contínuo; antes haviam "esquecido" de dar essa garantia). Outro tópico: Qual é a necessidade de indicar a pronúncia como "sê máys máys"???? Todo mundo sabe pronunciar se for escrito apenas "cê mais mais". Se a pronúncia pelo menos usasse o alfabeto fonético internacional, poderia ser interessante (mas ainda assim supérfluo, já que se destina a falantes de português), mas essa transcrição fonética informal só acrescenta confusão. Yuu 01h07min de 23 de Julho de 2007 (UTC)
- Um exemplo da necessidade de indicar a pronúncia é que alguns de meus professores da universidade pronunciam "sê plus plus" então vim verificar como era realmente. —o comentário precedente deveria ter sido assinado por 189.31.82.184 (discussão • contrib) 16h12min de 19 de setembro de 2009
Por que o uso de system()?? editar
A função sytem() torna os programas dependentes de sistema operacional, tornando-os semelhantes a script's. Não vejo necessidade para o seu uso. Não editei o artigo pra evitar que moderadores façam o que fizeram com outras contribuições minhas. Caso vocês decidam não retirar as chamadas a system(), favor escrever que ela torna o código incopatível, ou pelo menos em quais características o código foi compilado com sucesso.—o comentário precedente não foi assinado por Raoniteixeira (discussão • contrib.)
- Já removi, e removi a "conversão para codificação ANSI" também, que estava lá sem necessidade. Giro720 06h08min de 23 de Julho de 2007 (UTC)
- (conflito de edição) Não assuma que sua edição será revertida, isso não faz sentido; e mesmo que seja, é porque não houve Consenso, algo facilmente contornável. Caso queira alterar, faça-o à vontade, não espere que os outros façam por você. Por fim, tua última frase não faz muito sentido: a chamada de system será compilada de qualquer forma, independente do sistema operacional; qualquer problema de incompatibilidade será acusado em tempo de execução. Para o compilador, o argumento é apenas uma cadeia de caracteres, nada mais. Sds, --Leonardo Stabile msg 06h15min de 23 de Julho de 2007 (UTC)
- Esses são os moderadores da wikipedia! Nao sei porque ainda nao desisti deste projeto. O fato é: faça o que você quiser, porque é assim que funciona a wikipedia (moderadores madam). Minha última frase esta errada mesmo: o código compila, mas o executavel tem falhas de seguranças, não vai funcionar dependendo do sistema operacional. Eu nao entendo esses nerds do projeto. O uso system() é uma péssima prática de programação, comparado a uso de getch(). E eu não editei porque vocês moderadores mandam, mandam demais aqui, não vou perder meu tempo: a edição seria desfeita. O que fiz foi uma pergunta, que não foi respondida. Afinal pra que system()?—o comentário precedente não foi assinado por Raoniteixeira (discussão • contrib.)
- Outra pessoa já removeu o system, aparentemente você não percebeu a mudança e a resposta logo acima da minha. Eu nem respondi porque quando estava escrevendo a resposta, a remoção já havia sido feita. Pronto, simples assim, sem reversão e com consenso. Não sei porque tanto estresse. System é péssima prática mesmo, pergunte à pessoa (a edição é esta) que adicionou aquele exemplo o porquê ela usou tal função. Mas getch também não é muito melhor: já que você está em C++ e não em C turbinado com classes, cin.get é muito mais elegante. Sds, --Leonardo Stabile msg 06h57min de 23 de Julho de 2007 (UTC)
- Eu tinha colocado os argumentos em caracteres ANSI, porque alguns sistemas operacionais (pelo menos no Windows) não exibiam esses caracteres corretamente. Em todo caso, para não gerar mais confusão, mudei a palavra "opção" para "argumento". A questão do system("pause"): tinha colocado isso para que quem usasse o exemplo, pudesse ver o resultado, e no Windows, o console fecha automaticamente e rapidamente. Eu não sabia que o código poderia ser incompatível com outros sitemas ou compiladores/bibliotecas; desculpem por este meu erro. --Ricvelozo 21h26min de 4 de Agosto de 2007 (UTC)
Pode melhorar! editar
Eu confesso pra você que fica difícil aprender lendo esse texto que tal um texto resumido,uma video-aula e um simulador ai depois a pessoa faz exercícios escrevendo no papel ou pelo próprio compilador!!! qualquer toque: juliocesarcorreiafilho@hotmail.com —o comentário precedente deveria ter sido assinado por 201.4.131.27 (discussão • contrib) 00h03min de 19 de outubro de 2007
- A Wikipédia não serve para ter aulas de C++, apenas para esclarecer o que é C++ e para que serve. Para se aprender C++ é melhor procurar um site que seja feito para isso. 200.150.43.219 13h52min de 28 de Outubro de 2007 (UTC)
- Você está enganado a Wikipédia é uma enciclopédia e não uma simples introdução toda enciclopédia tem o dever de informar o básico e não simplesmente ficar o ensino só na faculdade porque uma enciclopédia tem teoria e introdução não é teoria. —o comentário precedente deveria ter sido assinado por 201.4.122.148 (discussão • contrib) 23h13min de 10 de novembro de 2007
- Concordo - Porém infelizmente as próprias políticas da Wikipédia não permite tutoriais, mas o que torna a Wikipédia uma enciclopédia, até certo ponto, com políticas anti-enciclopédicas... Isto é lamentável... Litrix Linuxer (discussão) 19h57min de 26 de abril de 2009 (UTC)LitrixLinuxer
Dúvidas editar
A própria linguagem de programação Java não foi desenvolvida em C++???Não tenho certeza disso,mas seria bom pesquisar sobre o assunto...—o comentário precedente não foi assinado por 201.86.233.130 (discussão • contrib.)
- A sintaxe e a semântica da linguagem foi influenciada por C++, e isso já está citado na caixa informativa logo no começo do artigo. --Leonardo Stabile msg 22h33min de 7 de fevereiro de 2009 (UTC)
- Se a Linguagem de programação Java e o site de relacionamentos Orkut foram desenvolvidos em C++,porque retiraram isso do artigo?????—o comentário precedente não foi assinado por 201.86.233.130 (discussão • contrib.)
- Até onde sei o Orkut é desenvolvido em C# e ASP.net. Sobre Java, logo acima. --Leonardo Stabile msg 22h33min de 7 de fevereiro de 2009 (UTC)
Header editar
Um include é um cabeçalho dizendo como se deve lidar com a biblioteca, mas, não, a biblioteca em si.No caso dela está definida em libc—o comentário precedente deveria ter sido assinado por Fabiojosue (discussão • contrib) 06h09min de 19 de junho de 2011 (UTC)