PDA

View Full Version : [Visual c++] Primi passi


Thunderfox
13-07-2009, 19:56
Ciao a tutti,
premetto che sono un programmatore Java, ma non ho mai utilizzato il visual c++ che vorrei imparare....

Ho un libro sul c++ che stò leggendo, ma la domanda principale che vorrei farvi è questa :"ma per prendere il valore da una textbox (textBox->Text), che tipo di variabile mi devo creare ? char ? String^ ?"

In java una stringa è una stringa e un char è un char....

Avete qualche sito da consigliarmi dove studiarmi qualcosa sul visual c++ ?

Grazie.

PuffoForzuto
13-07-2009, 20:42
Puoi usare la classe CString.

Cmq se sei proprio all'inizio ti consiglio questo link http://www.softwareplanet.net/php/mostraCorso.php?nomeCorso=VisualC

fero86
14-07-2009, 00:36
dipende se stai usando C++ o Managed C++; e nel primo caso dipende se stai usando MFC/ATL o direttamente le API Win32.

Thunderfox
14-07-2009, 21:49
Stò utilizzando Visual Studio C++, quando ho creato il progetto ho selezionato --> CLR --> Applicazione Windows Form... non sò se può essere un indizio...

||ElChE||88
14-07-2009, 22:15
Quindi stai usando C++/CLI (ex Managed C++).
Il libro che hai è sul C++ "standard" o su quello managed?

PS: Con Visual C++ puoi programmare sia in C++/CLI che in C++ "standard".

Thunderfox
14-07-2009, 22:23
c++ standard

il libro è questo http://www.librinformatica.it/novita/copertine02/a20310.jpg

fero86
15-07-2009, 11:17
ecco qual é il problema, stai programmando in un linguaggio che studi sul libro di un altro linguaggio :D

zulutown
15-07-2009, 11:34
perchè ti vuoi far del male con C++? :D

malocchio
15-07-2009, 12:16
perchè ti vuoi far del male con C++? :D

:asd:

fero86
15-07-2009, 16:12
perchè ti vuoi far del male con C++? :D perché vuole imparare uno dei linguaggi piu potenti* e usati di adesso e del prossimo futuro, a differenza di chi non ci capisce una sega e quindi glissa con una battuta e una risatina :)

*non cominciate per favore con la Turing-completezza, lo so bene che anche il Brainfuck é Turing-completo, ma potendo scegliere tra questo e il C++ cosa scegliereste?

Thunderfox
15-07-2009, 19:17
ecco qual é il problema, stai programmando in un linguaggio che studi sul libro di un altro linguaggio :D

d'oh :doh:

In effetti non riuscivo a capire perchè su internet leggevo delle cose e sul libro delle altre molto simili.

Comunque voglio imparare il C++ proprio perchè mi sembra un linguaggio molto potente, se avessi potuto.... penso che l'avrei studiato prima del Java.
Mi avrebbe dato sicuramente più dimestichezza nell'iniziare a studiare un'altro linguaggio :)

fero86
15-07-2009, 20:59
se vuoi programmare in C++ in Visual C++ allora devi creare un progetto Win32 (console o meno) oppure un progetto MFC o ATL; l'uso di Windows Forms comporta la compilazione per .NET.

fero86
15-07-2009, 21:06
ti scrivo le istruzioni per creare in Visual C++ 2008 Express un progetto che ti permette di programmare in C++ standard.

apri l'IDE, vai su File, New, Project, Win32, Win32 Console Application, scrivi il nome del progetto, decidi se creare una directory per la soluzione (probabilmente non vorrai, é un'opzione che ti serve quando devi mettere piu progetti nella stessa soluzione) e dai conferma; ti apparirá un wizard che ti fará scegliere tra "Windows application", "Console application", "DLL" e "Static library", tu scegli la seconda. inoltre il wizard ti fará scegliere se mettere i PCH (Pre-Compiled Headers) e/o creare un progetto vuoto; tu scegli il progetto vuoto e non creare i PCH (si tratta di una tecnica per velocizzare di molto la compilazione di progetti contenenti piu di un file sorgente, ma al tuo stato attuale credo che ti confonda solo le idee).

una volta aperto il progetto puoi aggiungere un file con estensione .cpp alla pseudo-cartella "Source files" e scrivere il tuo codice C++. tipico codice di partenza:

#include <iostream>

using namespace std;

int main()
{
return 0;
}

ti ho risparmiato l'hello world :asd:

zulutown
15-07-2009, 22:29
perché vuole imparare uno dei linguaggi piu potenti* e usati di adesso e del prossimo futuro, a differenza di chi non ci capisce una sega e quindi glissa con una battuta e una risatina :)

*non cominciate per favore con la Turing-completezza, lo so bene che anche il Brainfuck é Turing-completo, ma potendo scegliere tra questo e il C++ cosa scegliereste?

è semplice da imparare? no
è semplice da usare? no
è uno dei linguaggi più usati nel prossimo futuro? non mi risulta proprio

è molto potente? sì lo è.. ma per il 99% delle applicazioni è inutile infilarsi nella complessità di C++ quando con Java/C# pui far le stesse cose in modo mille volte più semplice.
Sarebbe come uccidere una mosca con un bazooca

ciao

fero86
15-07-2009, 23:23
è semplice da usare? no opinabile... una volta che l'hai imparato :)


è uno dei linguaggi più usati nel prossimo futuro? non mi risulta proprio fidati, ci metterá molto a morire. poi é chiaro che giá adesso ce ne sono altri che sono molto piu usati.


è molto potente? sì lo è.. ma per il 99% delle applicazioni è inutile infilarsi nella complessità di C++ quando con Java/C# pui far le stesse cose in modo mille volte più semplice. il tuo discorso non farebbe una piega se non fosse per i contesti legacy (il fenomeno di inerzia tecnologica é molto grande purtroppo, specialmente qui in Italia che é un paese trogloditico in queste cose). un esempio: se devi necessariamente adoperare una libreria scritta in C++ senza nessuna tecnologia di interoperabilitá (tipo COM) che fai? scrivi la DLL JNI e ci accedi da Java? avrai comunque bisogno di usare il C++ e comunque potrebbe non valerne la pena se l'applicativo che devi costruirci sopra non é abbastanza grande.

per quanto riguarda la complessitá del C++ di cui sopra, se stavi pensando ai puntatori scordateli (un programma C++ ben scritto ne ha veramente pochi se ne ha) e se non ci stavi pensando allora dove sarebbe l'incubo? anche C# mi pare molto complesso come linguaggio.

banryu79
16-07-2009, 10:01
Comunque voglio imparare il C++ proprio perchè mi sembra un linguaggio molto potente, se avessi potuto.... penso che l'avrei studiato prima del Java.
Mi avrebbe dato sicuramente più dimestichezza nell'iniziare a studiare un'altro linguaggio :)
Premetto che ho il massimo rispetto per i linguaggi C e C++.
Per come vedo io le cose, questi non sono nient'altro che strumenti, molto potenti e utili, nelle mani del programmatore capace (non è il mio caso, ad esempio :D).

Premetto anche che ho il massimo rispetto per la tua opinione, cioè che col senno di poi saresti partito prima con C/C++ per imparare a programmare che con Java.
Pensa che io sono partito con C e C++ e poi sono approdato a Java: col senno di poi farei esattamente il contrario... minchia è sempre così: si vuole sempre quello che non si ha :D

Però ti linko questo articolo (http://www.appuntidigitali.it/2506/quale-linguaggio-per-imparare-a-programmare/): l'autore è un tizio che con C++ ci ha lavorato una vita, in progetti di un certo spessore. Potrebbe interessarti.

malocchio
16-07-2009, 10:25
Premetto che ho il massimo rispetto per i linguaggi C e C++.
Per come vedo io le cose, questi non sono nient'altro che strumenti, molto potenti e utili, nelle mani del programmatore capace (non è il mio caso, ad esempio :D).

Premetto anche che ho il massimo rispetto per la tua opinione, cioè che col senno di poi saresti partito prima con C/C++ per imparare a programmare che con Java.
Pensa che io sono partito con C e C++ e poi sono approdato a Java: col senno di poi farei esattamente il contrario... minchia è sempre così: si vuole sempre quello che non si ha :D

Però ti linko questo articolo (http://www.appuntidigitali.it/2506/quale-linguaggio-per-imparare-a-programmare/): l'autore è un tizio che con C++ ci ha lavorato una vita, in progetti di un certo spessore. Potrebbe interessarti.

Ma l'autore di quell'articolo forse non si aspettava un po' di flame?? :rotfl:

Adesso lo leggo ;)

EDIT: Per il programmatore pragmatico non c’è spazio per le guerre di religione Allora non esistono programmatori pragmatici (neanche so cosa vuol dire! :rotfl:)! :asd:

RI-EDIT: Ah vi prego non iniziamo una discussione su quale linguaggio è più adatto per cominciare, andremmo a finire male, sono appena stato tentato di scrivere una mia opinione, ma per adesso me la tengo! :D:D:D

zulutown
16-07-2009, 10:55
opinabile... una volta che l'hai imparato :)


fidati, ci metterá molto a morire. poi é chiaro che giá adesso ce ne sono altri che sono molto piu usati.


il tuo discorso non farebbe una piega se non fosse per i contesti legacy (il fenomeno di inerzia tecnologica é molto grande purtroppo, specialmente qui in Italia che é un paese trogloditico in queste cose). un esempio: se devi necessariamente adoperare una libreria scritta in C++ senza nessuna tecnologia di interoperabilitá (tipo COM) che fai? scrivi la DLL JNI e ci accedi da Java? avrai comunque bisogno di usare il C++ e comunque potrebbe non valerne la pena se l'applicativo che devi costruirci sopra non é abbastanza grande.

per quanto riguarda la complessitá del C++ di cui sopra, se stavi pensando ai puntatori scordateli (un programma C++ ben scritto ne ha veramente pochi se ne ha) e se non ci stavi pensando allora dove sarebbe l'incubo? anche C# mi pare molto complesso come linguaggio.

CIao i tuoi discorsi riguardano molto cose legacy oppure "obblighi" di usare librerie in C++
Dal mio punto di vista se si vuole cominciare oggi un progetto serio (a meno di quel 1% dei casi in cui serve la "potenza" di C++), si dovrebbe usare C#/Java

Riguardo il fatto che si può scrivere bene anche codice in C++, certo! ma io parto dal presupposto che se a un progetto ci lavorano tante persone, chi bravo, chi mediocre, e gestire codice C++ scritto da un programmatore mediocre è decisamente più problematico rispetto a Java

Thunderfox
20-07-2009, 19:02
Interessanti le discussioni che ne sono venute fuori :)

Cmq vorrei utilizzare il c++ per creare programmi desktop windows, perchè per quanto riguarda la parte web mi trovo benissimo con java :)

banryu79
21-07-2009, 09:09
Interessanti le discussioni che ne sono venute fuori :)

Cmq vorrei utilizzare il c++ per creare programmi desktop windows, perchè per quanto riguarda la parte web mi trovo benissimo con java :)
Se il tuo target sono applicazioni desktop che devono girare sotto Windows allora potrebbe essere più produttivo e soddisfacente programmare con la piattaforma .NET, scegliendo uno dei linguaggi supportati (C# per esempio).

Tra l'altro, se già conosci Java, passare a C# dovrebbe essere relativamente semplice e veloce.

fero86
21-07-2009, 12:13
Se il tuo target sono applicazioni desktop che devono girare sotto Windows allora potrebbe essere più produttivo e soddisfacente programmare con la piattaforma .NET, scegliendo uno dei linguaggi supportati (C# per esempio).

Tra l'altro, se già conosci Java, passare a C# dovrebbe essere relativamente semplice e veloce. concordo; realizzare interfacce grafiche con Windows Forms ad esempio é molto piu veloce che in Visual C++.