mii-community/UsenetArchiveIT-conversations huggingface dataset:
Newsgroup: it.comp.lang.c++
Titolo: DataBase sotto DOS

Qualcuno potrebbe indicarmi delle buone librerie C o C++ per la gestione di
DataBase sottoDOS con un kernel non molto grosso ?

...


Newsgroup: it.comp.lang.c++
Titolo: e il main ?

Da poco sto armeggiando con il C++ ed in particolare con il Visual C++
(rel 4.0). Ho generato con il Wizard (..anzi 'Ha generato'.....) una
semplice applicazione menu-dialogo. Dato che non trovo un punto di
ingresso classico (un 'main' tanto per capirci) da richiamare, come
posso richiamare la mia applicazione a mo di funzione da un'altro
programma (linkato assieme si intende) ?
Vi ringrazio anticipatamente....
Antonio

Da poco sto armeggiando con il C++ ed in particolare con il MS Visual
C++ (rel. 4.0). Ho generato (..anche se sarebbe piu' giusto dire 'Ha
generato' ...) con il Wizard una applicazione semplice semplice che apre
un menu e una finestre di dialogo. Come posso fare in modo che questa
applicazione venga richiamata a mo di funzione da un'altro programma
(linkato assieme si intende) visto che io non trovo un main (o simile..)
o altri punti di ingresso ?
Vi ringrazio anticipatamente...
Antonio.

...

Il WinMain e` nelle librerie MFC, ma anche se te lo rilocassi nel tuo
codice non ti servirebbe a molto -- tutto il programma che hai generato
e` strutturato per girare come processo separato e a se` stante, non per
essere "richiamato a mo' di funzione da un altro programma".  Proprio
l'altro giorno, in risposta a una richiesta analoga ma piu` specifica, ho
accennato alle varie cose necessarie per trasformare un EXE dell'MFC
in una DLL (libreria a caricamento dinamico), ma non e` cosa proprio
banale... c'e` un po' da lavorare.
Altrimenti, hai l'opzione di lasciare l'applicazione MFC nel suo EXE,
farla partire con una CreateProcess dall'altra parte, e mettere insieme
una qualche forma di comunicazione fra i due processi separati.  La
soluzione piu` pulita e` il Component Object Model (COM) Microsoft,
lo schema di interazione che sta alla base di Automation, OLE, Direct/X,
Scripting, MAPI, lo Shell, e mille altre cose.  MFC (mi pare gia` nella
4.0) ti permette di supportare abbastanza semplicemente il COM sotto
forma di Automation.  Alternativamente, hai mille altre possibilita` per
la comunicazione fra processi, scambiando dati attraverso pipes,
memoria condivisa, o che altro...
Alex

Newsgroup: it.comp.lang.c++
Titolo: COMPRO!!! Manuali VISUAL C++ 4.0 anche fotocopie

Cerco disperatamente i manuali originali del Visual c++ di Microsoft
versione 4.0
Mi bastano anche le fotocopie.Ottima retribuzione!

 Mi bastano anche le fotocopie.Ottima retribuzione!
Se hai il compilatore originale puoi richiederli con la cartolina
apposita direttamente a Microsoft.
Newsgroup: it.comp.lang.c++
Titolo: Domandina sui Puntatori

Salve a tutti- vorrei sapere una cosuccia sui Puntatori-
c'e' qualcuno che sa dirmi perche':
int *pippo;                OK
*pippo = 10;
mentre invece:
int *pippo = 10;       Errore!
Be' questa è una forse una 'fesseria' ma mi è successa una cosa ancora +
strana:
-------------------------------------------
int topolino = 10;
int *pippo;                OK
*pippo = 10;
--------------------------------------------
int topolino = 10;
int pluto = 10;
int *pippo;                ERRORE DI VIOLAZIONE ALL'INDIRIZZO xxxxx
!!!!!!!!!
*pippo = 10;
Mi sembra assurdo che mi dia questo errore solo se definisco un'altra
variabile (pluto)
dopo topolino- forse vado a toccare qualche cella di memoria di cui ha
bisogno pippo???
Non è che il compilatore della Borland è impazzito?????
Grazie per l'attenzione
Francesco
gi...@tin.it

 variabile (pluto)
E' normale.  Quando si usano puntatori non inizializzati gli errori 
saltano fuori solo ogni tanto; anche lo stesso programma puo' dare
errore alcune volte e altre no (e non e' detto che quando non da
errore i risultati siano giusti).
Per non avere errori:
  int * pippo = new int;    // allocazione di memoria per pippo
  *pippo = 10;   // adesso pippo puo' essere usato tranquillamente
	Mauro

 int *pippo = 10;       Errore!
Sono sbagliati tutti e due. Nel primo caso tenti di assegnare un valore
alla locazione puntata da un puntatore non inizializzato (quindi chissà
dove vai a scrivere quel valore) mentre nel secondo tenti di
inizializzare un puntatore con un intero invece che con un indirizzo. Le
versioni corrette sono, rispettivamente:
int *pippo = new int;
*pippo = 10;
e
int *pippo = new int( 10 );
EMG

 Non è che il compilatore della Borland è impazzito?????
NO. Forse ti serve un ripasso sui puntatori.
Ciao,
Enrico

Ciao Francesco,
int *pippo;                OK
*pippo = 10;
questo non è OK come scrivi tu.
La dichiarazione di un puntatore non è sufficiente ariseravre
spazio in memoria pe contenere il valore relativo al tipo specificato.
In qualche modo si deve allocare la memoria, che sia in modo
dinamico o statico.
int * pippo;
Dichiarazione di un puntatore ad una variabile di tipo intero.
Prima di inserire il valore con l'istruzione << *pippo = 10 >>
si deve far puntare pippo ad una zona di memoria valida,
ovvero ad una variabile allocata in memoria.
int *pippo;      OK
int pluto;        OK
pippo = &pluto;    OK
Con questa assegnazione pippo punta alla variabile pluto
che rappresenta un'area di memoria allocata (staticamente).
*pippo = 10;        OK
ciao, Franco.
--
Posted from [194.184.225.66] by way of 
law2-oe13.hotmail.com
 [216.32.180.117]
via Mailgate.ORG Server - 
http://www.mailgate.org

 Non è che il compilatore della Borland è impazzito?????


 int *pippo = 10;       Errore!
nel primo caso inizializzi la cella di memoria puntata da pippo col valore
10 (ricordati comunque new/malloc per piacere), nel secondo caso inizializzi
il puntatore stesso.

...

Newsgroup: it.comp.lang.c++
Titolo: TESTI SU ATL ???

qualcuno mi puo consigliare
su un buon testo che tratti ATL
in modo chiaro ed esauriente ?
grazie
Davide
d...@menhir-informatica.com

in modo chiaro ed esauriente ?
Per principianti:
Grimes et al, Beginning ATL COM
    Programming, Wrox Press
Per proseguire:
Grimes, Professional ATL COM
    Programming, Wrox Press
Alex

Newsgroup: it.comp.lang.c++
Titolo: programmare giochi in c++

Sapete se esiste una risorsa Internet o un buon libro che spiega come creare
giochi in C++?


Che insegnino come creare videogiochi non credo ne esistano; e se esistono
sono in inglese e moooooolto vaghe.
C'è un sito di programmatori italiani che ospita qualche tutorial, dei link
a risorse + o - utili e una sezione progetti, dedicata apposta ai progetti
di videogiochi.
www.games.eden.it/gpi
San Vegeta from Hell
http://www.geocities.com/Area51/Dungeon/8436
http://come.to/Fantasy.it
Newsgroup: it.comp.lang.c++
Titolo: UUEncode

Scusate, ho scritto in Vb un programma che spedisce delle semplici mail con
allegati. Ora vorrei scriverlo in Visual C++ di Microsoft però, non essendo
i grado ancora di scrivere la funzione per fare l'UUEncode in vb ho usato un
controllo già fatto. Non è che ne esista uno anche per il Visual C++, così
magari dopo me lo studio anche? Visto che ci sono, vorrei chiedere anche una
cosa. In Visual C++ non esistono come in vb controlli ActiveX o si? Se si,
sono diversi immagino.
Grazie e scusate il disturbo.
Ramses

Ciao,
Questo newsgroup si occupa del linguaggio C++ in quanto tale, e non di
aspetti specifici di particolari implementazioni. Per questo non e' il
posto piu' adatto per porre domande specifiche come la tua.
Potresti avere piu' fortuna su uno dei seguenti gruppi:
Per Win32 (95, 98, NT): it.comp.programmare.win32
Per Dos/Win 3.x: it.comp.os.dos
Per Linux:      it.comp.os.linux.development
Per C++Builder: i gruppi borland.public.cppbuilder.*, disponibili sul
                server 
newsgroups.borland.com
 (prevalentemente in 
                inglese, ma si puo' postare anche in italiano)
Detto questo, gli ActiveX esistono e funzionano anche con VC++, per cui
e' possibile che tu riesca a utilizzare lo stesso componente.
Ciao,
Nicola Musatti

Newsgroup: it.comp.lang.c++
Titolo: Internet

Ciao a tutti, chi mi sa dire dove posso trovare un tutorial
sulla programmazione C++ per internet (no windows api) in linea di comando?
grazie in anticipo

 sulla programmazione C++ per internet (no windows api) in linea di
comando?
tutorial *davvero* validi non ne ho ancora visti.
se sai l'inglese ti consiglio caldamente di scaricarti il libro Thinking in
c++ da 
http://www.mindview.net/
. lo sto leggendo in questo momento, è molto
completo e dettagliato, contiene esempi pratici e molti esercizi. davvero
ottimo, imho.
ciao, assa.

Newsgroup: it.comp.lang.c++
Titolo: autorizzazione??

perchè se tento di andare sul sito
http://www.programmazione.it/
mi arriva un messaggio del tipo
"Non si dispone dell'autorizzazione per visualizzare la pagina"?
grazie.

"Non si dispone dell'autorizzazione per visualizzare la pagina"?
Sempre ammesso che non dipenda da te, ti devi rivolgere a
capo(at)
technologist.com
Paolo
P.s.
  sostituire "(at)" con @
-----------------------------------------------
  Paolo Marotta
  Computer Science, University of Pisa
  home:   
http://www.cli.di.unipi.it/~marotta
-----------------------------------------------
Newsgroup: it.comp.lang.c++
Titolo: Mp3

Ciao io volevo creare un lettore Mp3 senza utilizzare libbrerie prefatte.
Sapete dove posso trovare informazioni per la compressione mp3 e per la
gestione dell'audio?
Il mio intento è quello di fare un player x linux da usare su un 486Sx
lentissimo. Ma la cosa ke mi interessa di + è la gestione e la struttura dei
file mp3
Grazie anticipatamente

 wrote in message
news:LfRUa.206764$
Ny5.5...@twister2.libero.it

Se vuoi prova a guardare su questi siti magari trovi qualcosa che fa per
te!!
www.codeguru.com
www.codeproject.com
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 ha scritto nel messaggio
news:LfRUa.206764$Ny5.5...@twister2.libero.it...


 Stai per caso facendo qualcosa di embedded ???
magari vuole solo un player che occupa 3% cpu e 30k di memoria ...
cmq io consiglierei di vedere le lib mpg123 e mpg321 che offrono i loro
sorgenti quindi se non trovi un testo con scritto come funzionano gli mp3
(strano) puoi ricavarlo dalle funzioni di lettura di queste librerie ...
ciao

> Ma la cosa ke mi interessa di + è la gestione e la struttura dei file mp3
prova su 
www.wotsit.org

Newsgroup: it.comp.lang.c++
Titolo: problema overload operator+ e =

salve, ho bisogno di una mano: il compilatore dice che c'e' un problema
di matching sull'operatore =
TColonna e' una classe, Count e Err sono dei campi Float pubblici
const TColonna& TColonna::operator=(TColonna& B)
{
  if (this==&B) return *this;
  Count = B.Count;
  Err = B.Err;
  return *this;
}
TColonna TColonna::operator+(TColonna& B)
{
  TColonna temp(Count + B.Count, Err + B.Err);
  std::cout << "Somma: " << temp;
  //  return TColonna(Count + B.Count, Err + B.Err);
  return temp;
}
nel main le chiamo come:
  TColonna a(1.,2.);
  TColonna b(3.,5.);
  TColonna c;
  cout << a;
  c = (a + b);
  cout << c;
l'operatore << e' correttamente implementato. L'operatore = da solo
funziona, cioe' quando faccio
a = b; cout<<a;
vedo che a e' cambiato

 TColonna TColonna::operator+(TColonna& B)
Perché non "const TColonna& B" ?
Kiuhnm

grazie mille, stavo impazzendo


 
Ciao
Soviet
Newsgroup: it.comp.lang.c++
Titolo: leggere dati da string

salve
come posso leggere dei dati, che so interi, dopo che li prelevo con una
getline. Riporto un esempio
ifstream in(filename.c_str());
string buffer;
getline(in, buffer, ';');
//ora in buffer ci sono degli interi separati da uno spazio
//Avevo pensato di fare:
char *str = new char[buffer.size()];
memcpy(str, buffer, buffer.size());
//quindi leggere da str tramite una sscanf
//mi chiedevo se esiste un modo piu' funro in c++
//Forse con degli iteratori?


In realta' secondo me il problema piu' grande e' l'affidabilita'
dell'input. Se sai per certo che i dati sono ben strutturati non c'e'
motivo per non leggere gli interi direttamente, piu' o meno cosi':
ifstream in(filename.c_str());
int i;
while ( in >> i ) {
// usa i
}
Altrimenti devi ragionare su quali controlli fare ed eventualmente
controllare l'input carattere per carattere.
Ciao,
Nicola

Quello che mi hai detto mi ha fatto capire che potevo evitarmi tanti
problemi, ma ancora sono abituato al C. Grazie

ATS wrote:


Dopo il getline():
    std::istringstream line( buffer ) ;
    while ( line >> i ) ...
--
James Kanze                                           GABI Software
Conseils en informatique orientée objet/
                   Beratung in objektorientierter Datenverarbeitung
9 place Sémard, 78210 St.-Cyr-l'École, France, 
+33 (0)1 30 23 00 34
Newsgroup: it.comp.lang.c++
Titolo: Differenza tra cpp e .h

Praticamente cosa sarebbe il .h ? Un contenitore di risorse o cosa ?

> Praticamente cosa sarebbe il .h ? Un contenitore di risorse o cosa ?
Il file .h è l'header, cioè il file nel quale è presente l'interfaccia della
classe, cioè l'insieme degli attributi e tutte le dichiarazioni dei metodi
con relativa visibilità.
La definizione del metodo, cioè il corpo della funzione, è poi implementata
nel file .cpp
In pratica il file .h contiene COSA offre la classe, mentre COME è
implementata è scritta nel .cpp
Bye,
BallaCoiLupi70

Newsgroup: it.comp.lang.c++
Titolo: ottimizzazioni del compilatore

In generale i compilatore C++ compilano tutto o solo quello che serve? Mi 
spiego meglio:
class root{
        public:
                virtual void funzione(){/*...*/};
                //.........
        };
class derivata : public root {
        public :
                void funzione(){/*....*/};
                //........
        };
int main(){
        derivata der;
        der.funzione();
        //.....
        return 0;
}
Ebbene in questo esempio la funzione virtuale viene lo stesso compilata, 
anche se non viene mai usata?
Grazie
-- 
Abruzzo Silvio
studente, 16 anni
goku_...@libero.it
silvi...@aruba.it
^____^

 anche se non viene mai usata?
Viene compilata sempre, come ti dicevo. E in questo esempio la maggior parte dei
compilatori non la ottimizza perche' non riescono ad avere la certezza che non
possa essere raggiunta. Questo vale in generale per tutte le funzioni di cui
viene preso l'indirizzo. Per esempio:
void foo() {}
void (*p)()=foo;
E' molto difficile che un compilatore possa verificare fino in fondo che foo non
venga mai chiamata (a meno di non dimostrare che p stesso non viene MAI usato e
che il suo indirizzo non venga preso). Quindi, in generale, una funzione di cui
viene preso l'indirizzo (incluse le virtuali) non viene rimossa in fase di
linking.
Questo comunque non e' grave dato che:
-) la dimensione del codice non e' quasi mai critica su sistemi odierni
-) e' probabile che la funzione virtuale inutilizzata sia comunque piccola
-) se la dimensione e' critica stai probabilmente lavorando con un sistema
embedded in cui puoi sempre usare qualche hack per eliminarla a mano
--
Andrea Ferro
---------
Brainbench C++ Master. Scored higher than 97% of previous takers
Scores: Overall 4.46, Conceptual 5.0, Problem-Solving 5.0
More info 
http://www.brainbench.com/transcript.jsp?pid=2522556
Newsgroup: it.comp.lang.c++
Titolo: Re: ng c++

 
Nel primo si discute di C++ standard, nel secondo si discute dello standard
del C++.
Max

Che differenza c'e` tra comp.lang.c++ e comp.std.c++ ?
-- 
int
Newsgroup: it.comp.lang.c++
Titolo: Ada and SmallTalk better than C / C ++ ? People say yes

After two weeks of vote on 
http://homepages.iprolink.ch/~lambercy
,
a majority of developpers says that Ada is the best language, and smalltalk 
the second. Is this real ? You can vote on  
http://homepages.iprolink.ch/~lambercy


Rozumiem, ze to wezwanie do glosowania wystosowal fan C++.
Pare lat temu sam bym tak reagowal.
Ale czy warto zaczynac religijne wojny o jezyk programowania???
Przeciez to jest tylko narzedzie!!! Profesjonalista wybiera
takie jakie jest najbardziej odpowiednie do danego zadania.
Przeciez nikt nie bedzie uzywal srubokreta tam gdzie przydalby
sie mlotek, tylko dlatego, ze srubokret ma ergonomiczna raczke!!!
Jak uwazacie, czy C++ to jedyny najlepszy oh ah jezyk programowania??
Stanislaw Bochnak

Stanislaw Bochnak
La seconda che hai detto .....

Newsgroup: it.comp.lang.c++
Titolo: Help: File registrati in windows

In Windows, esiste una chiamata per verificare se un particolare file
e' stato associato ad un programma?
Esempio: .html associato ad InternetExplorer di Windows
E' inoltre possibile sapere il percorso completo del programma associato?
Se la cosa e' complicata, potete fare anche un esempio pratico?
Grazie,
Marco Babbei

Se la cosa e' complicata, potete fare anche un esempio pratico?
Non e` complicata, comunque ecco un esempietto (immesso
al volo, quindi scusa eventuali errorucci di sintassi ecc):
    TCHAR risult[MAX_PATH];
    HINSTANCE hRes = ::FindExecutable(
        _T("Pippo.Html"), _T("C:\\"), risult);
    ULONG uRes = reinterpret_cast<ULONG>(hRes);
    if(uRes > 32) {
        ::MessageBox(0, risult, _T("Trovato OK!"), MB_OK);
    } else {
        TCHAR *pMessage;
        switch(uRes) {
        case 0: pMessage=_T("Manca memoria/risorse"); break;
        case 31: pMessage=_T("Nessuna associazione"); break;
        case ERROR_FILE_NOT_FOUND :
            pMessage=_T("Non trovato file Pippo.Html"); break;
        case ERROR_PATH_NOT_FOUND :
            pMessage=_T("Non trovato folder C:\\"); break;
        default:    {
            static TCHAR buf[80];
            wsprintf(buf,_T("Errore sconosciuto (%d)"),uRes);
            pMessage=buf;
                        }
        }
        ::MessageBox(0,pMessage,_T("Errore"),MB_OK);
    }
Alex
Newsgroup: it.comp.lang.c++
Titolo: Voglio inparare le API!!!

---PREMESSA---
Dopo aver appreso un po' diC e un po' di C++, volendo imparare la
programmazione in windows sono passato al C++ Builder.
Purtroppo il Builder ti permette si di fare quasi tutto in windows ma ti
nasconde cosa avviene dietro le quinte.
---SUCCO DEL DISCORSO---
Vorrei imparare quindi le basi della programmazione in windows, ovvero, da
quanto ho capito le API.
Qualcuno mi puo' consigliare sul da farsi? Cioè su cosa indirizzarmi, quali
libri poter comprare, se il Compilatore del Builder è ok per utilizzare le
API o che modifiche apportare, se ho bisogno di librerie...
---MORALE---
Secondo programmare me è come fare un plastico; è bello avere gli alberelli
da posizionarci già fatti, però se non ti vanno bene è ancora più bello
avere i pezzetti per farti gli alberelli come ti pare a te !!!
Vi ringrazio
Predator.

API o che modifiche apportare, se ho bisogno di librerie...
IL libro da usare e` il Petzold, Microsoft Press, 5a edizione (la versione
inglese e` uscita a Novembre; quella italiana non l'ho ancora vista, ma
penso che uscira` prima o poi edita da Mondadori Informatica).  Il tuo
compilatore e` accettabilissimo per usare le API (lo sono praticamente
tutti i compilatori C e C++ per Win32).
Ti consiglio inoltre caldamente di votare per la creazione del gruppo
it.comp.programmare.win32 (l'ultima call for votes e` stata recentemente
postata anche qui, puoi eventualmente trovarla con 
www.dejanews.com
usando la funzionalita` Power Search): se il gruppo in questione nasce,
pensavo di postarci il mio "piccolo corso a puntate di programmazione
Win32 con le API" (in Italiano) che scrissi qualche mese fa sulla mailing
list GIDA -- non e` il Petzold, ma qualcosina puo` servire.
Alex

avere i pezzetti per farti gli alberelli come ti pare a te !!!
Dipende : se devi fare un boschetto ti do' ragione, se devi ricreare la
foresta amazzonica (tra l'altro in un tempo ragionevole) allora no, al
massimo si puo' modificare qualche particolare partendo dall'alberello
standard (leggasi ereditarieta')
A presto :-)
Marco Abis
http://welcome.to/C++Warriors
 interamente dedicato al C++
ca...@technologist.com
--
Posted from 
sfw.lib.disco.unimi.it
 [149.132.196.251]
via Mailgate.ORG Server - 
http://www.mailgate.org
Newsgroup: it.comp.lang.c++
Titolo: export template

Salve a tutti,
vorrei sapere se c'č un compilatore che supporta la dichiarazione dei
template separata dalla loro definizione (con la keyword 'export').
Grazie,
Alberto Griggio

Penso proprio di no, perche' non e' supportata dal front-end dell'EDG,
su cui si basano i compilatori notoriamente piu' vicini allo standard
(Comeau e KAI).
Non so se GCC 3.0 la supportera', ma mi aspetto di no.
Ciao,
Nicola

 Non so se GCC 3.0 la supportera', ma mi aspetto di no.
Sarebbe alquanto strano... in fondo si tratta di una caratteristica dello
standard, e quindi va implementata al più presto. Quindi mi auguro che i
prossimi compilatori supporteranno l'istruzione 'export' (anche se devo dire
che non ne ho mai sentito la necessità).
Ciao
Domenico

 Grazie,
Potreste spiegare come funzionerebbero ?

 che non ne ho mai sentito la necessità).
Vero. Ma e' anche un completo stravolgimento della logica di gestione
dei template, e in quanto tale probabilmente la caratteristica dello
standard piu' difficile da implementare. Se poi si considera che non
aggiunge effettive funzionalita' al linguaggio, si capisce perche' i
fornitori l'abbiano lasciata per ultima.
Ciao,
Nicola

(Comeau e KAI).
Cos'è l'EDG?

Edison Design Group, 
www.edg.com
, tre tipi tosti.
Ciao,
Nicola

Dichiarando un template come esportato si rendono dichiarati tutti i
suoi membri, ovvero non e' piu' necessario che il suo codice sia
visibile a tutti gli utilizzatori. L'idea e' che sia possibile tradurre
il codice del template in un formato intermedio, a sua volta compilabile
per ciascun insieme specifico di argomenti incontrato. Questo porterebbe
a notevoli vantaggi, sia in termini di tempi di compilazione, sia forse
in termini di limitazione delle interdipendenze tra il codice dei
template ed i relativi utilizzatori.
Ciao,
Nicola
Newsgroup: it.comp.lang.c++
Titolo: costruttore di copia

ciao a tutti,
come faccio a trasformare questa funzione membro in un costruttore di copia
vero e proprio???
ecco la classe:
typedef int E;
struct Record{
       E el;
       Record* succ;
      };
typedef Record* Pr;
class Coda{
private:
  Pr testa;
  Pr coda;
public:
Coda();   // costruttore
~Coda(); // distruttore
bool empty() const; // predicato coda vuota
bool full() const;   // predicato coda piena (sempre falso per
implementazione dinamica)
void push(const E el); // inserimento in coda
void pop(E& e);  // prelievo dalla testa
void top(E& e) const;  // ispezione senza rimozione dalla testa
void Coda::codacopy (const Coda& c);
};
ecco la funzione codacopy:
//funzione Copia elemento per elemento
void Coda::codacopy(const Coda& c) {
       Pr q = c.coda;   //Creiamo un puntatore d'appoggio
       if (q!=0){        //Testiamo se la lista da copiare è vuota
             coda = new Record;   //Allochiamo una nuova struct
             coda->el=q->el;   //Copiamo i campi
             testa=coda;       //Inizializziamo il puntatore di testa
             q=q->succ;  //Avanziamo col punt. nella coda da copiare
             while(q!=0){  //Cicliamo fino a che non termina la coda
                         testa->succ = new Record; //Accodiamo nuove struct
                         testa = testa->succ;
                         testa->el = q->el;
                         q=q->succ;
             }
             testa->succ=0; //Poniamo il campo succ dell'ultima struct a
zero
       }
       else cout<<"Coda Vuota";
}
nel main.cpp:
void copia(Coda& c){
  cout<<"3)Copia della coda elemento per elemento"<<endl;
  Coda c1;
  c1.codacopy(c);
}
ciao!

              testa->succ=0; file://Poniamo il campo succ dell'ultima


 }
come faccio a richiamarlo?
ciao!

 wrote in message
%2cwa.165160$K35.3...@news2.tin.it...

Viene richiamato automaticamente ogni volta che passi un oggetto di tipo
Coda ad una funzione.
Se vuoi chiamarlo tu direi che questo dovrebbe andare:
Coda a;
// riempi a
Coda b=a;
oppure
Coda b(a);
Nota, se vuoi supportare invece questa istruzione:
b=a;
devi sovraccaricare l'operatore =, questa istruzione infatti non richiama il
costruttore di copia.
Per sovraccaricare l'operator= la sintassi è questa:
const Coda& operator= (const Coda& due) {.....}
puoi anche decidere di restituire void, funziona lo stesso ma non puoi
concatenare gli operatori di uguaglianza.
Correggetemi se ho detto fregnacce.

 concatenare gli operatori di uguaglianza.
si, pensavo anch'io all'overload dell'operatore...ma con (const Coda& due)
devo passare a o b???
ciao!

 Coda b(a);
mi da questo errore: 8 codadin.cpp
 definition of implicitly-declared `Coda::Coda(const Coda &)'
alla riga:
Coda::Coda(const Coda& c) {
ciao!
Newsgroup: it.comp.lang.c++
Titolo: vector<string> multidimensionali

Ciao a tutti!
Qualcuno sa per caso se sia possibile dichiarare dei
vector<string>
che siano multidimensionali??? Precisamente mi serve un vector<string> a 
3 dimensioni
Mi spiego meglio:
1) Mi serve immagazzinare in un vettore tutti i nomi di Proprietà letti 
dalle Sezioni di un file ini.
2) Ad ogni nome di Proprietà però deve corrispondere un'altra stringa 
che è il nome della Sezione in cui è contenuta la Proprietà.
3) Ad ogni nome di Proprietà devo poi anche far corrispondere un Valore.
In pratica mi serve una matrice 3xN o Nx3 è indifferente (N non credo 
sia un problema visto che i vector si prestano bene all'allocazione 
dinamica, ed in ogni caso N sarebbe il numero di proprietà contenute nel 
file ini facilmente contabili prima di dichiarare il vector)
Es.:
[pippo]
pluto1=qui
pluto2=quo
pluto3=qua
[topolino]
paperoga1=0
paperoga2=1
pluto1=7
pluto2=8
Quindi io vorrei avere un vector<string> a 3 dimensioni dove:
1) La prima dimensione contiene:
pluto1 pluto2 pluto3 paperoga1 paperoga2 pluto1 pluto2
2) La seconda dimensione contiene:
pippo pippo pippo topolino topolino topolino topolino
3) La terza dimensione contiene:
qui quo qua 0 1 7 8
Secondo voi è possibile una cosa del genere?
Grazie anticipatamente!
Aspidus

 In pratica mi serve una matrice 3xN o Nx3 è indifferente
Cioè, un vector a due dimensionni, da qui uno vale sempre 3.
In fatto, piutosto:
    struct Proprieta
    {
        string sezione ;
        string nome    ;
        string valuta  ;
    } ;
    vector< Proprieta > p ;
In generale, inveci, si usa più volentiere un:
    map< string, map< string, string > >
                        proprieta ;
Che permette cose come:
    valuta = proprieta[ "sezione" ][ "attributa" ] ;
Se no, se fa anche:
    map< string, string > proprieta ;
con:
    valuta = proprieta[ "sezione.attributa" ] ;
Organisazione che permette più di nivelli, se la bisogna si fà
sentire.
--
James Kanze                                           GABI Software
Conseils en informatique orientée objet/
                   Beratung in objektorientierter Datenverarbeitung
9 place Sémard, 78210 St.-Cyr-l'École, France, 
+33 (0)1 30 23 00 34

Grazie mi sei stato molto utile!
Aspidus
kanze ha scritto:


Newsgroup: it.comp.lang.c++
Titolo: writing a file

I know nothing about C at the moment.
How do you write a program if you don't know anything about the
language?!?!?
Get a good book :-)))
--
Byez.
Stefano Tempesta
temp...@tin.it
http://tempesta.freeweb.org
--------------------------------
(-: To "shut down" your system, type "WIN" :-)
(-: Windows VirusScan 1.0 - "Windows found: Remove it? (Y/N)" :-)

Can you help?
No, sorry. I use C++Builder 3 but on this newsgroup there are lots of people
well knowing Visual C++ (as Alex Martelli). Ask them for help.

Newsgroup: it.comp.lang.c++
Titolo: egcs dove lo posso trovare?

Salve,
siccome il mio compilatore e` spesso preda di
improvvisa pazzia, ho deciso che e` il momento di
sperimentarne uno nuovo.
Mi sapete dire dove trovo l'ultima versione di egcs
(mi sembra che sia x windows vero?)
Grazie,
Paolo
------------------------------------------------------------------
  Paolo Marotta
  Computer Science, University of Pisa
  home:   
http://www.cli.di.unipi.it/~marotta
  G: Per concludere, possiamo chiedervi di commentare
     l'attuale panorama informatico?
  I: /* l'attuale panorama informatico */
------------------------------------------------------------------

(mi sembra che sia x windows vero?)
Arrghh.. no! EGCS=Experimental Gnu Compiler System
EGCS nasce e viene sviluppato nell'ambito del progetto
GNU e quindi in primis per Linux/Unix e forse Hurd.
Ne esistono 2 porting per Win32: Cygnwin32 e Mingw32.
Consiglio caldamente Mingw32 ad opera di Mumit Khan.
L'ultima versione dovrebbe essere la 1.1.1 ed il link
lo trovi qui :
http://space.tin.it/computer/rgerola/compil.html
Le ultime news riguardo il progetto le trovi sul
sito di Cygnus.
Saluti
-- 
Roberto Gerola
Email: 
roge...@tin.it
WWW: 
http://space.tin.it/computer/rgerola

 Ne esistono 2 porting per Win32: Cygnwin32 e Mingw32.
..cut...
Ne sei sicuro ?
A me risulta che sulla Monografia di "Io Programmo" ci sia la versione
per DOS, anzi, proprio su it.comp.lang.c c'e' un thread che tratta i
problemi di installazione (un bug del file batch di installazione ....
sembra che questo file faccia riferimento ad un nome del tipo  file.1.1 
senza considerare che con il DOS ci sono problemi - io cmq non ho
provato nulla, lo sto ancora cercando in edicola).
Ciao, U D A.
-- 
<><><><><><><><><><><><><><><><><><><><><><><><
UDA'Software
mailto:
u...@freemail.it
mailto:
uda.so...@iol.it
http://www.GeoCities.com/SiliconValley/Bay/2165

 Sicuro di cosa ?
Del fatto che non c'e' per DOS; da quanto ho letto sembrerebbe di si',
ma non ci metterei mai "la mano sul fuoco".
Sulla rivista citata in precedenza c'e' un file html che riporta questo:
Cygnus EGCS
Versione realizzata da Cygnus, dello GNU compiler. Infatti la missione
del progetto EGCS è quello di svilupparne il compilatore GNU,
fornendogli nuove
funzionalità, maggiore ottimizazione, sia del codice prodotto che, che
delle prestazioni del compilatore. Una risorsa sicuramente interessante
per quanti
utilizzano C++ per studio o per lavoro. 
Purtroppo non specifica per quale SO e' il compilatore contenuto nel CD
(almeno, non dal testo sopra) ma, considerando anche quello che ho letto
sull'altro NG, ho ipotizzato che si puo' effettivamente trattare di una
versione per DOS\Windows.
Probabilmente ho ipotizzato male .....

Newsgroup: it.comp.lang.c++
Titolo: costruttore explicit (era Re: quando si fa il cast esplicito?)

 a essere un costruttore devi dichiararlo explicit.
Riprendo qui il thread perchè non riesco a trovare la keyword explicit
sullo Stroustrup.
Mi spiegate come funziona e a cosa serve?
Grazie
--
Gerolamo
Using: Win2000 Pro, Borland C++ Compiler 5.5.1
Listening: Sting - Moon over Bourbon Street

 Mi spiegate come funziona e a cosa serve?
Praticamente la spiegazione è quella che ti ho dato sopra. Un
costruttore che prende un solo parametro (o meglio che può prendere un
solo parametro perchè per esempio gli altri sono defaulted) si come un
operatore di conversione. Per esempio questo programma compila senza
errori:
struct Foo {
    Foo( int _i )
    {
    }
};
void bar( Foo foo )
{
}
int main()
{
    bar( 2 );      // Ok. Conversione implicita
    bar( Foo(2) ); // Ok. Conversione esplicita
    bar( (Foo)2 ); // Ok. Conversione esplicita
}
In alcuni casi si vuole permettere la costruzione con un solo parametro,
ma senza implicare una conversione automatica. Per esempio un vettore
può avere un costruttore che prende come unico parametro la dimensione
del vettore non implica che un intero possa essere automaticamente
convertito in un vettore. In questo caso si usa "explicit". Esempio:
struct Foo {
    explicit Foo( int _i )
    {
    }
};
void bar( Foo foo )
{
}
int main()
{
    bar( 2 );      // errore. Conversione implicita non ammessa
    bar( Foo(2) ); // Ok. Conversione esplicita
    bar( (Foo)2 ); // Ok. Conversione esplicita
}
--
Andrea Ferro
---------
Brainbench C++ Master. Scored higher than 97% of previous takers
Scores: Overall 4.46, Conceptual 5.0, Problem-Solving 5.0
More info 
http://www.brainbench.com/transcript.jsp?pid=2522556

sullo Stroustrup.
La keyword explicit serve per evitare che il compilatore applichi la
conversione implicita per il oggetti il cui costruttore ha un solo
parametro. Lo Stroustrup ne parla diffusamente nel suo libro.
Il Ghenio
---------
These are my parting words to you:
those who give up are doomed!

 parametro. Lo Stroustrup ne parla diffusamente nel suo libro.
azz... trovato. Capitolo 11 (Sovraccaricamento degli operatori)
Non che mi aspettassi di trovarlo li, a dire il vero...
:-)
--
Gerolamo
Using: Win2000 Pro, Borland C++ Compiler 5.5.1
Listening: Marillion - Heart of Lothian
Newsgroup: it.comp.lang.c++
Titolo: Libri ...

Salve a tutti,
vi chiedo subito un consiglio anche se mi sembra giusto dirvi "grazie di
esistere"  :-)
Sono un novellino che si vuole evolvere così ho iniziato e quasi finito il
libro "Programmare in C" di Peter Aitken e Bradley L. Jones.
Nella rivista DEV di aprile ho trovato un interessante CD-ROM con DJGPP
C/C++ V2, Borland C++ Builder 3 Standard Completo e il Compilatore Borland
C++ 5.5. Così preso dalla foga ho acquistato anche la "Guida completa del
Borland C++ Builder 3".
Domande:
Per avvicinarmi al C++ ho bisogno di altri testi sul C
Per sopperire alla velocità con cui viene trattato il C++ nella Guida
completa del Borland mi consigliate "Programmare in C++" di Stephen Blaha?
Grazie in anticipo
Pierpaolo


Mi potresti dire dove lo hai acquistato? E' quello della Apogeo/Sams?
P.S. Ovviamente non rispondo alle tue domande perchč ho appena iniziato
anch'io.

 ha scritto nel messaggio
news:8ee905$ke2$1...@nmaster.tin.it...





Vedi FAQ su 
www.programmazione.it
Paolo

Newsgroup: it.comp.lang.c++
Titolo: fare grafica elementare in windows

CIAO A TUTTI!
Ho scaricato da poco il Borland C++ compiler e mi stavo chiedendo quale file
devo includere per fare della grafica (molto terra terra).
Grazie a tutti.


windows.h
Newsgroup: it.comp.lang.c++
Titolo: Perchè allocare vettori di dimensioni "numeri primi"?

Salve ancora. Ho una domanda.
Il prof. dice di allocare vettori con dimensioni
che siano pari ad un numero primo.
es:
int pippo[numero_primo]
Dice che č meglio cosě. Sapete perchč? Thanks!
Good Byte, Augustus

 ha scritto nel messaggio
news:a6jb5a$e12t3$2...@ID-94218.news.dfncis.de...

Di solito questo č ragionevole quando poi gestisci il vettore come
una hash-table. Sei sicuro che il discorso fosse invece generale?
Federico Molara.

 una hash-table. Sei sicuro che il discorso fosse invece generale?
hai ragione.
stiamo facendo una tabella di hash.
Ma come mai è "ragionevole" porre come dimensione un numero primo?
C'è qualche spiegazione?
Grazie, Augustus

 Dice che è meglio così. Sapete perchè? Thanks!
Sarà stato in vena di scherzi :)
-- 
"Everything is vague to a degree you do not realize till you have tried
  to make it precise"
"Ogni cosa è vaga in una misura di cui non ci si rende conto finché non
  si cerca di renderla precisa"
                                       Bertrand Russell
                                       The Philosophy of Logical Atomism

 Grazie, Augustus
La funzione di trasformazione (hashing) dà prestazioni migliori,
si ha una probabilità di collisioni molto più bassa. Il tutto
si basa su proprietà matematiche dei numeri primi...
Federico Molara

Newsgroup: it.comp.lang.c++
Titolo: Non gira sotto win98 e ME

Ho scaricato da un sito internet di download di free code un programma
scritto in C++. L'ho provato ma non funziona, sul readme c'č scritto che non
lavora sotto win98 (io ho windowsME e chiaramente non gira nemeno sotto
quello), ci sarebbe qualcuno disposto a compilarlo e mandarmi l'eseguibile??
(si tratta di un unico file sorgente)
Tranquilli che non ci sono noie per il copyright xchč era scaricabile
gratuitamente e anonimamente da chiunque. Io ve lo mando cosě com'era sul
sito.
Grazie, spero che qualcuno risponda.

 Grazie, spero che qualcuno risponda.
Scusa, ma se non gira sotto WindowsME allora presumo che anche se
l'eseguibile lo crei su un'altra macchina, continuera' a non funzionare 
sotto WindowsME.
Poi in ogni caso dovresti specificare se il programma e' stato
scritto per un compilatore specifico (per esempio,
non penso che un codice
per il Borland C++ Builder vada sempre liscio per il compilatore
microsoft e viceversa)
Infine, sei tragicamente Off Topic qui, e' meglio se ti rivolgi
ad un gruppo specifico per la programmazione sotto Windows.
(esiste, esiste,....)
ciao,
g.


Hai ragione che non ho dato abbastanza informazioni, l'autore del programma
da come compatbilitą: Microsoft Visual C++, Borland C++.
Cul fatto di essere fuoti luogo non so.. io ho problemi con la compilazione
di codice C++, non in particolare con la programmazione in windows.
Il mio problema era solo quello di compilare quel codice, volevo provare ad
usarlo (l'eseguibile) su macchine che montano vindows2000, (ma non ho
installato lģ il compilatore).
Ah, un'altra cosa che non avevo detto: si tratta di un DLL Injection.
Ciao.
Newsgroup: it.comp.lang.c++
Titolo: VC5.lib -> BC5.lib HELP

Salve a tutti.
Mi trovo nella necessita' di utilizzare librerie Visual C++ 5.0  con il
Borland C++ 5.0.
Il formato e' diverso tra i due compilatori e lo stesso dicasi per gli
object files (dispongo
anche dei .obj delle librerie).
L'unico sistema di conversione che conosco e' implib che lavora pero' sui
dll.
Nessuno e' in grado di darmi una mano? Grazie.



...

Che ne sappia io i formati dei file .OBJ sono differenti anche se il Linker
della Borland accetta quelli di Microsoft.
Se hai i sorgenti penso che la cosa sia leggermente più fattibile anche se
io ho avuto enormi problemi (al punto di rinunciarvi!) a compilare i
sorgenti di esempio di DirectX 5 e dell'Internet Client SDK che sono stati
appositamente progettati per essere compilati con il Visual C++ 5.0.
Tieni conto che la versione 5.02 (l'ultima release disponibile) di Borland
supporta a mala pena la libreria MFC versione 4.2 e che per avere la
compatibilità con i sorgenti di MFC 4.2, Borland ha introdotto una marea di
direttive di compilazione all'interno dei file .h e .cpp (i sorgenti di
MFC).
Implib è l'unico ponte di collegamento con Microsoft, visto che i file .LIB
di Microsoft sono incompatibili con quelli di Borland (ma solo a 32 bit,
perché a 16 bit sono identici). Pertanto va usato ogni qualvolta si ha una
DLL e tale .DLL va usata per compilare un programma che ne fa uso.
Il Borland C Builder 3.0 ha un supporto leggermente migliore per MFC, ma si
estende solo alla Active Template Library (ATL) e al COM così come viene
riportato nel sito:
http://www.borland.com/bcppbuilder/features.html
Leggi la documentazione in linea del compilatore su alcune operazioni da
eseguire per compilare i sorgenti MFC.
Saluti.
Jo Parrello.
http://space.tin.it/computer/giparrel
jopa...@tin.it

Borland C++ 5.0.
non ho mai visto il BC e non so se sia in grado di utilizzare gli obj
MS, pero' anche amettendo che tu riesca a trasformarli in un formato
accettabile dal BC dubito che riuscirai mai a fare il link perche' gli
obj compilati dal VC richiederanno le funzioni delle librerie standard
MS e difficilmente le libreria del BC andranno bene. Senza contare poi
che se c'e' del C++ ci sono ancora altri problemi legati ad esempio
alla codifica dei nomi.
Gianpaolo Bottin
- Live Long and Prosper -

 Nessuno e' in grado di darmi una mano? Grazie.
non si puo`, il borland compila gli obj a 32 bit in un modo simile a quello
a 16 bit, invece il VC ha cambiato totalmente formato, cercando di
assomigliare di + a quelli unix, ma ovviamente rimanendo incompatibile anche
con questi.
---
Ranger, togli .fr dal mio indirizzo per rispondere
http://members.tripod.com/%7Eranger_rg/
Newsgroup: it.comp.lang.c++
Titolo: Come funziona WinEyes?

Sono interessato a scoprire come poter realizzare qualcosa di simile a
WinEyes, cioč quel giochino che ti fa apparire due occhi sul desktop che
seguono i movimenti del mouse
qualcuno sa dirmi dove posso trovare del materiale  (naturalmente in C++)
che mi spieghi come fare per creare un giochino del genere?
p.s. siccome sono un neofita del C++, sarei grato se poteste indicarmi del
materiale adatto alle mie conoscienze.
Grazie
Giorgio


Non e' molto difficile, in teoria...
le pupille degli occhi sono disegnate lungo la linea che unisce il
centro dell'occhio e il puntatore del mouse, e sono tangenti
internamente al bordo dell'occhio, quindi devi fare un programma che
date le sue coordinate, legga quelle del mouse e disegni di conseguenza
i due puntini neri all'interno di deu ellissi; per il problema della
trasparenza, non lo so...
-- 
Ciao, gengisdave
http://digilander.iol.it/gengisdave

Newsgroup: it.comp.lang.c++
Titolo: Cerco Visual C++

Sto cercando Visual C++, c'è qualcuno che può aiutarmi?
Ale

 wrote in message
oPOZ3.81293$s17.8...@typhoon.libero.it...


> Sto cercando Visual C++, c'è qualcuno che può aiutarmi?
www.microsoft.it
--
Alessandro Monti

Newsgroup: it.comp.lang.c++
Titolo: Domande banali

Ciao a tutti,
avrei qualche domanda veramente banale riguardo alla programmazione in C++:
  - quanto è lecito mischiare codice tipicamente C con codice C++?
  - alcune librerie compilando con g++ non vengono riconosciute e devono 
essere incluse con il .h (es. stdlib.h). Perchè succede qusto?
  - il supporto alla programmazione concorrentein C++ è diverso dalle 
strutture presenti in C (pthread_mutex_t, pthread_cond_t, sem_t...)?
Grazie a chi vorrà rispondere.
Simo

 (pthread_mutex_t, pthread_cond_t, sem_t...)?
Per quanto ne so, non è nativo; io uso infatti i thread
posix e vanno alla grande. Quindi direi che è
assolutamente uguale :D
ciao
Apx.
-- 
Mi sono iscritto ad un concorso di colpa ma non
ho vinto niente perche' non c'entravo.

 Grazie a chi vorrà rispondere.
Prego
-- 
Gerolamo 


Anche per me, che io sappia, la specifica del C++
non prevede funzionalità standard per la programmazione concorrente.
Semmai puoi trovare classi o funzioni, adatte allo scopo,
per lo specifico sistema operativo.
Per esempio la funzione che hai citato , pthread_mutex_t, fa parte
dello standard POSIX
che in genere è utilizzato sui sistemi unix e linux.

 che in genere � utilizzato sui sistemi unix e linux.
Non le prevede attualmente, ma il prossimo standard C++ (quello che 
viene informalmente chiamato C++0x) le prevede (assieme a molte altre 
nuove funzionalit�).
Ciao
Newsgroup: it.comp.lang.c++
Titolo: Puntatore alle Funzioni Membro di una Classe

Salve a tutti
avrei un piccolo problema con un puntatore ad una funzione quando compilo il 
compilatore mi segnala in questo punto del codice <--*******
 ERRORE : cannot call member function `float Box::Volume()' without object
eppure gli assegno l'indirizzo della Funzione? Potreste dirmi dove sbaglio 
uso dev 4.992
Tnx in Advanced
Mae
#include <iostream>
#include<cstdlib>
using namespace std;
void Funct( int i);
void Test( void( *pfnFunct)( int));
typedef void( *PFN)( int);
struct Box
{
       float altezza;
       float larghezza;
       float profondita;
       float Volume()
       { return altezza * larghezza * profondita; }
}; //Fine BOX
float ( Box::*PFN1)() = &Box::Volume(); <--******* MI SEGNALA ERRORE
typedef float ( Box::*PFN2)();
////////////////////////////////////////////////
// Main
int main(int argc, char *argv[])
{
    Box cubo = { 2.0f, 2.0f, 2.0f };
    PFN2 pfn2 = &Box::Volume();  <--******* ERRORE
    // Stampo le due funzione sia il Typedef che l'originale
    cout<<"\n PFN1 Volume del Cubo: "<<(cubo.*PFN1)();
    cout<<"\n PFN2 Volume del Cubo: "<<(cubo.*pfn2)();
    Test( Funct);
    system("PAUSE");
    return EXIT_SUCCESS;
}// Fine Main()
///////////////////////////////////////////
//  Funct
void Funct( int i)
{
    cout<<" Dentro la Funzione Funct(), i == "<<i<<endl;
}
///////////////////////////////////////////
//  Test
void Test( PFN p_Funct)
{
          ( *p_Funct)(101);
     ( p_Funct)(102);
} 


1. Che errore ti segnala?
2. Purtroppo i metodi delle classi C++ non sono funzioni normali a meno 
che non siamo delle funzioni statiche (senza il this).
3. Su questo NG c'e` un vecchio ma utile post sul "funtore":
http://groups.google.nl/group/it.comp.lang.c++/browse_thread/thread/11ad186b0e9d7a14/5fff69b1f6a3c82a?q=funtore&rnum=1#5fff69b1f6a3c82a
Cesare

 float ( Box::*PFN1)() = &Box::Volume(); <--******* MI SEGNALA ERRORE
Togli il secondo paio di tonde. Stai passando il puntatore, non
chiamando la funzione membro.
Ciao,
Nicola

 ha scritto nel messaggio 
news:1150448275....@f6g2000cwb.googlegroups.com...

Newsgroup: it.comp.lang.c++
Titolo: grafica

Esisete una libreria gratuita e scaricabile per fare applicazioni
(rudimentali) grafiche in ambiente dos per il compilatore Turbo C++ della
Borland?


Le funzioni di graphics.h non ti sono sufficienti?
EMG

Newsgroup: it.comp.lang.c++
Titolo: unix e c++

ok, io devo fare un programma in c/c++ (posso farlo in c++?) che usi 
principalmente accesso a file e socket a tcp e/o udp.
non so se posso farlo in c++ (???)
devo usare degli header per poter compilare un programma in c sotto unix
cosa devo usare per compilare?
devo scaricarmi degli header?
posso programmare sotto win32, vedere se funziona sotto win32 e 
successivamente compilarlo sotto unix?
grazie mille!
anzi, infinite
siddharta

 siddharta

Newsgroup: it.comp.lang.c++
Titolo: grazie mille

grazie per l'indirizzo ora mi scarico le librerie e mi studio la
documentazione
in italiano che libri mi consigli?
la guida completa di c++ può andare bene?
ciao e grazie a tutti
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 la guida completa di c++ può andare bene?
Non sei in un forum, ma in un NG. Okkio alle "regole"...
-- 
Luc
Newsgroup: it.comp.lang.c++
Titolo: Ordinamento QuickSort

1- Mi potete dire come ordinare una lista biderezionale con il metodo quick 
sort?
    Se si, la struttura utilizzata è la seguente :
   elem (valore, precedente, successivo).
2- Avete dei link per informarmi su questo ordinamento? 

 
La cosa piů rapida che mi viene in mente puoi passarla in un array e poi 
invocare la funzione qsort, altrimenti io userei piů un ordinamento su 
inserimento in modo da avere la lista sempre ordinata piuttosto che 
cercare di ordinarla dopo.
Ciao Enrico

Newsgroup: it.comp.lang.c++
Titolo: Errore nell'istruzione switch?

Ciao a tutti,
il compilatore c++ mi ha segnalato il seguente errore nell'istruzione dello
'switch'. Sapete dirmi come mai?
Grazie a tutti, :)
Gilberto.
static char *statoGioco = "inizio";
...
...
              switch (statoGioco)
              {
                case "mpezzi":
                 disegnaNavi(hdcWindow);
                 break;
              } // Fine dello switch (statoGioco)...
/* Errori: */
switch quantity not an integer,
case label 'mpezzi' does not reduce to an integer constant,
confused by earlier errors, bailing out.

                case "mpezzi":
Stai scherzando, vero ?
Spero che tu sappia che le label a cui si salta con gli switch devono
essere riconducibili ad un valore intero, cosa che "mpezzi" non e'.
E poi, scusa, perche' non usi un valore di un'enumerazione per segnare
lo stato del gioco ?


Urge una bella ripassata(?) o forse meglio ,un bel approfondimento del
linguaggio .


Purtroppo lo switch del C++ non permette di valutare variabili che non
siano di tipo intero,ed il messaggio di errore che ottieni é fin
troppo esplicito nel segnalartelo.
Questo comunque non é un problema irrisolvibile: puoi usare una
variabile di tipo enum per catalogare i vari stati del gioco(soluzione
consigliata) oppure servirti di uno std::map per associare un valore
numerico ad ogni stato del gioco(soluzione sconsigliata).
Terza soluzione: rinunciare alla comodità dello switch in favore di
una serie di if cosi' disposti
if(statoGioco=="mpezzi")
    {
    /*fai qualcosa*/
    }
else if(statoGioco=="blabla")
    {
    /*qualcos'altro*/
    }
else if(statoGioco=="ciuciuciu")
    {
    /*qualcos'altro ancora*/
    }
il risultato é assolutamente identico, anche se c'é chi afferma(non
io,ovviamente)che ciò nuoccia alla leggibilità del codice.
Il Ghenio
-----
ZIO : Fun and games are over with. Anyone who dares
get in my way shall perish.
-----

io,ovviamente)che ciò nuoccia alla leggibilità del codice.
Ma stiamo scherzando ?  Se vuoi confrontare stringhe (in quanto array
di caratteri) devi usare strcmp.
--
Andrea Laforgia - walkietalkie(at)
libero.it
#exclude <windows.h>

di caratteri) devi usare strcmp.
Avevo ignorato che si trattasse di un array di caratteri, essendo
ormai abituato alle std::string, tutto qua. Ciň non cambia il senso
della risposta.


Salve a tutti,
grazie per le vostre risposte. Avete ragione tutti quanti ma sopratutto
GianFranco, quando dice che è urgente una bella ripassata... Purtroppo è
passato un bel pò di tempo senza l'utilizzo del C. Ora vedrò di soperire a
tale mancanza.
Grazie a tutti, ;)
Giilberto.