Newsgroup: it.comp.lang.c++
Titolo: Iniziare con il C++

Salve a tutti,
sono programmatore da qualche anno ma mi sono sempre cimentato in VB e Java.
Adesso vorrei avvicinarmi al C++, ma incontro numerose difficoltà.
Innanzitutto non riesco a capire cosa sia standard o meno. Nel mio caso per
standard intendo cross-platform ovvero scrivo il sorgente una volta e lo
riutilizzo (ovviamente ricompilandolo) ovunque... proprio come java insomma.
Questa domanda nasce dal fatto che ho avuto la possibilità di provare
qualche IDE per C++ in ambiente windows e 1 in ambiente Linux e di vedere
che ognuno in fase di compilazione genera file con le estensione +
disparate. Nella mia beata ignoranza dal sorgente (cpp) vado al compilato
(obj) che poi viene linkato (exe) (si, è vero, sto parlando di win in questo
momento) cosa sono tutti gli altri file?
Altra domanda: esiste per win un Ide (più "gratuito possibile"),
possibilmente leggero, senza troppi fronzoli (un po come è JCreator per
java) per sviluppare piccoli programmini...
Ho bisogno di C++ puro per provare a costruire oggetti e strutturee non mi
interessa l'ambiente grafico (finestre)
Scusate per il post lungo ma come vedete ho le idee davvero confuso, se
qualcuno potesse darmi qualche chiarimento...
Ciao

 se qualcuno potesse darmi qualche chiarimento...
Non c'è problema.
Se hai ancora bisogno, chiedi senza problemi.
ciao
-- 
Gerolamo

Grazie per il consiglio di Dev-C, mi sembra davvero fatto bene.
Due domandine:
Ho fatto un progetto vuoto, Ho aggiunto un file con questo codice. Quando lo
eseguo appare per un secondo la finestra dos e scompare subito. La
compilazione č andata bene, come faccio a vedere l'output?
#include <stdio.h>
void main(void) {
     printf("ddkdkk");
}
Quando dovrņ compilare a "mano" il mio progetto fatto , per esempio, di 100
file come dovrņ organizzare i sorgenti? Ci sono i package come in java?
Grazie. Ciao

 }
Questo non č C++ standard. Se proprio vuoi usare printf, che č una
funzione C, mentre in C++ sarebbe piů indicato usare cin e cout, eccoti
il codice standard:
#include <cstdio>       // essendo stdio.h un file header del C, in C++
                        // perde il .h e aggiunge una c davanti al nome
int main()              // main *deve* essere int, e il void tra parentesi non
                        // č richiesto in C++
{
        // printf fa parte della libreria standard C++, e quindi appartiene
        // al namespace std. Quindi per usarla devi qualificarla col suo nome
        // completo, std::printf.
        std::printf( "prova" );         
}
Se non ti piace usare std::printf, hai un'alternativa:
#include <cstdio>
using namespace std;
int main()
{
        printf( "prova" );
}
Comunque se hai preso quel codice da un libro che si spaccia per
insegnare il C++, buttalo e scaricati da internet "Thinking in C++" da
www.bruceeckel.com
. Č gratuito, ed č un ottimo libro (aggiornato allo
standard).
-- 
Andrea Bergia - studente              Linux Registered User #281550

 }
Meglio:
        #include <iostream>
        using namespace std;
        int main( ) {
                cout << "ddkdkk" << endl;
                return 0;
        }
Da notare che "void main( void )" da comportamento indefinito (la signature 
per la funzione main è "int main( )" oppure "int main( int _argc, char * 
_argv[] )". Inoltre, printf( ... ) non è standard C++, dove esistono gli 
stream collegati allo standard output ("cout" è una "variabile globale", 
diciamo, collegata al "Console OUTput").
Per fermare l'esecuzione in attesa di un tasto fai:
        #include <iostream>
        using namespace std;
        int main( ) {
                cout << "ddkdkk" << endl;
                char c;
                cin >> c;
                return 0;
        }
Ciao.
-- 
---
*************** | Have you ever retired a human by mystake?
*** Azathot *** |
*************** | To contact me, ask me gently. Thanks.

                 cin >> c;
piu' facile un normale
cin.get();
che non ti chiede una variabile in piu' ...
ciao