C++

Origem: Desciclopédia, a enciclopédia livre de conteúdo.

(Redireccionado de C mais mais)

UUUHHHGGG rrrrRRR!
Chewbacca quando da erro de compilação

Java é melhor que C++
Javeiro sobre C++

C não é sexo
Oe Kintaro (Golden Boy) - sobre C

Isso porque você não é inteligente o bastante para aprender C++
C mais maiseiro sobre fã de Java

Eu tenho medo...
Regina Duarte sobre C++

printf (Oi, eu sou Goku...)
Goku sobre C++

Isso non ecziste
Padre Quevedo sobre fã de C++

Uma boa linguagem! ótima! sendo o melhor compilador/ambiente: Visual C++
Bill Gates sobre C++

C++ é um insulto ao cérebro humano.
Niklaus Wirth, criador do pascal, sobre C++ (citação verdadeira)

Porque????? As outras num são??????
Descíclope sobre a citação acima

Eu tenho ponteiros, você não teeeem, lalálalálálá
Programador C++ sobre Programador Java

Quem precisa de ponteiros é relógio
Programador Java sobre Programador C++

Tabela de conteúdo

C++

Carta C++, poder da confusão
Carta C++, poder da confusão

C++ (pronunciado "cê mais mais", ou simplesmente "cê cruz cruz") é uma linguagem de programação, muitas vezes é referida como Cpp (C da puta que pariu), criada por Bjarne Stroustrup com o propósito de deixar programador loucos, em um plano para eliminar a concorrência da Microsoft (que usa a programação orientada a gambiarras em seus programas).

Suas principais características são o paradigma orientado à desorientação e falta de sentido em geral, a incoerência de sintaxe, e ser melhor do que Java. A linguagem incorpora todas as vantagens da linguagem C, isto é, nenhuma, e todos os benefícios da orientação a objetos, isto é, poder fazer uma classe Quadrado que herda da classe Retângulo, com um incrivel custo em performance por isso.

História

Em 1986, a Microsoft terminou a fase de design de seu plano para dominação do mundo (contendo 902 casos de uso) e prosseguiu para a fase de implementação. Para tanto, contratou um punheteiro da merda para criar a linguagem C++.

Sob o pseudônimo de Bjork Strudel, o NERD publicou a especificação da linguagem que foi prontamente adotada por várias empresas espalhadas pelo mundo. Porém, somente quando era tarde demais os programadores perceberam que só loucos e/ou masoquistas conseguiriam implementar qualquer programa com mais de 100 linhas nessa linguagem. E então a Maicrossófiti dominou o mundo.

Para combater o reino de terror instaurado por Bjarne Stroustrup, a Sun inventou a linguagem Java. Mas como todos sabem, Java é apenas para n00bs idiotas, porque não tem ponteiros (não fazendo a mínima idéia do que isso seja).

Exemplo de código

O famoso Hello, World em C++:

class CHelloWorldAppUi;
class CEikApplication;
class CHelloWorldAppView;

class CHelloWorldApplication : public CEikApplication
    {
        public:
            TUid AppDllUid() const;
        protected:
            CApaDocument* CreateDocumentL();
    };

class CHelloWorldDocument : public CEikDocument
    {
        public:
            static CHelloWorldDocument* NewL(CEikApplication& aApp);
            static CHelloWorldDocument* NewLC(CEikApplication& aApp);
            ~CHelloWorldDocument(){};
        public:
            CEikAppUi* CreateAppUiL();
        private:
            void ConstructL() {};
            CHelloWorldDocument(CEikApplication& aApp){};
    };

class CHelloWorldAppUi : public CEikAppUi
    {
        public:
                void ConstructL();
                CHelloWorldAppUi(){};
                ~CHelloWorldAppUi(){};
    };

static const TUid KUidHelloWorldApp = {0x10005B91};

GLDEF_C TInt E32Dll(TDllReason )
    {
    return KErrNone;
    }

EXPORT_C CApaApplication* NewApplication() 
    {
    return (new CHelloWorldApplication);
    }

CApaDocument* CHelloWorldApplication::CreateDocumentL()
    {  
    CApaDocument* document = CHelloWorldDocument::NewL(*this);
    return document;
    }

TUid CHelloWorldApplication::AppDllUid() const
    {
    return KUidHelloWorldApp;
    }
    
CHelloWorldDocument* CHelloWorldDocument::NewL(CEikApplication& aApp)
    {
    CHelloWorldDocument* self = NewLC(aApp);
    CleanupStack::Pop(self);
    return self;
    }

CHelloWorldDocument* CHelloWorldDocument::NewLC(CEikApplication& aApp)
    {
    CHelloWorldDocument* self = new (ELeave) CHelloWorldDocument(aApp);
    CleanupStack::PushL(self);
    self->ConstructL();
    return self;
    }

CEikAppUi* CHelloWorldDocument::CreateAppUiL()
    {
    CEikAppUi* appUi = new (ELeave) CHelloWorldAppUi;
    return appUi;
    }

void CHelloWorldAppUi::ConstructL()
    {
    BaseConstructL();

    _LIT(message,"Hello!");
    CAknInformationNote* informationNote = new (ELeave) CAknInformationNote;
    informationNote->ExecuteLD(message);
    }

O mesmo programa em PHP.

<?php
echo "Hello, World!";
?>

O mesmo programa em Ruby:

p 'Hello, World!'

O mesmo programa em Dark Basic: Obs, A segunda linha só é necessaria na versão Pro.

 print "Hello, world!"
 wait key


O mesmo programa em Python:

 print 'Hello, World!'


O mesmo programa em Java:

 System.out.println("Hello World");

O mesmo programa em JavaScript

document.writeln("Hello World");

O mesmo programa em Shell Script:

Detalhe, a primeira linha é opcional.

#!/bin/bash
echo 'Hello, World'

O mesmo programa em Pascal:

writeln('Hello, World');

Como pode-se observar, é muito simples a criação de um Hello World em C++, comparando com outras linguagens toscas.

Compiladores

C++ é famosa pela qualidade dos compiladores existentes. Todos são muito eficazes na detecção de erros e exibem mensagens que auxiliam enormemente os programadores. Por exemplo, ao esquecer um ponto e vírgula após uma declaração de classe, o compilador da Microsoft informa:

helloworld.h(52) : fatal error C1001: An internal error has occurred in the compiler.
(compiler file 'msc1.cpp', line 1392)
To work around this problem, try simplifying or changing the program near the locations listed above.
Please choose the Technical Support command on the Visual C++ 
Help menu, or open the Technical Support help file for more information

Já o compilador do GNU/Linux exibe:

helloworld.cpp:7: error: new types may not be defined in a return type
helloworld.cpp:7: error: extraneous `int' ignored
helloworld.cpp:7: error: `main' must return `int'
make: *** [string.o] Error 1
Execution terminated

A clareza das mensagens permite a correção imediata do erro de nosso distraído programador.

Integração com outras linguagens

C++ é famosa também por ser suportada (mesmo sendo insuportável) por praticamente todas as linguagens de programação.

Exemplo de Integração com PHP:

for ($c = 0; $c < 10; $c++) {
 echo "Uso de C++ em PHP";
} 


Exemplo de Integração com Java:

for (int c = 0; c < 10; c++) {
 System.out.println("Uso de C++ em Java");
} 
Linguagens de Programação

ABAPKhadaAJAXAlgolASPAssemblyBASICBashBefungeBrainfuckCC♭C#C=C+1C=C-1ClipperCOBOLColdFusionDDBaseDelphiEiffelFortranFoxProGambiarraGeneXusGroovyHaskellHQ9+HQ9++HTMLIntercalJADJavaJavaScriptLispLuaMakerMalbolgeManaged C++ModulaNatural.NetPascalPerlPHPPOGPortugolPrologPythonRubyRuby on RailsRuby off RailsScalaSmalltalkSQLVBScriptVisual BasicWilde CWhitespace

Ferramentas pessoais
(F)Utilidades