Discussão:C++

Último comentário: 19 de junho de 2011 de Fabiojosue no tópico Header


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)
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)LitrixLinuxerResponder

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)Responder
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)Responder

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 libco comentário precedente deveria ter sido assinado por Fabiojosue (discussão • contrib) 06h09min de 19 de junho de 2011 (UTC)Responder

Regressar à página "C++".