mii-community/UsenetArchiveIT-conversations huggingface dataset:
Newsgroup: it.comp.lang.c++
Titolo: Nested Class e valore di ritorno dei metodi

Ciao a tutti,
nel metodo "save()" della classe interna (Memento) chiamo il metodo
"getLastWalked()" della classe superiore (Walker) che dovrebbe ritornare il
valore del attributo privato _lastWalked.
[CUT]
int getLastWalked() {
   return _lastWalked;
}
[CUT]
void save() {
   cout << "Save state: " << _walk->getLastWalked() << endl;
   cout << "__________: " << _walk->getTotalWalked() << endl;
}
Il problema č che la getLastWalked() non ritorna il valore _lastWalked ma un
valore che dipende da cose tipo l'ordine di sequenza con cui sono state
dichiarate le variabili ecc.
Invece se modifico la getLastWalked() in questo modo, il valore ritornato č
corretto:
int getLastWalked() {
   return 99;
}
oppure
int getLastWalked() {
   int a = 66;
   return a;
}
Grazie, 
David
CODICE COMPLETO:
------------------------------------------------
#include <iostream>
#include <cstdlib>
using namespace std;
class Walker
{
        class Memento;
        friend class Memento;
        public:
                Walker() {
                        srand(static_cast<unsigned int>(time(0)));
                        _lastWalked = 0;
                        _totalWalked = 0;
                }
 
                void walk() {
                        _lastWalked = rand() % 100 + 1;
                }
 
                void saveMemento() {
                        _memento.save();
                }
 
                void restoreMemento() {
                        _memento.restore();
                }
 
                int getLastWalked() {
                        return _lastWalked;
                }
 
                int getTotalWalked() {
                        return _totalWalked;
                }
 
        private:
                class Memento
                {
                        public:
                                void save() {
                                        cout << "Save state: " << _walk->getLastWalked() << endl;
                                        cout << "__________: " << _walk->getTotalWalked() << endl;
                                }
 
                                void restore() {
                                        cout << "Restore state: " << _walk->getLastWalked() << endl;
                                        cout << "_____________: " << _walk->getTotalWalked() << endl;
                                };
 
                        private:
                                Walker *_walk;
                }; // class Memento
 
                // Accesso alla Nested Class
                Memento _memento;
                int _lastWalked;
                int _totalWalked;
}; // class Walker
int main()
{
        Walker wk;
        cout << "Init state: " << wk.getLastWalked() << endl;
        cout << "__________: " << wk.getTotalWalked() << endl;
 
        wk.saveMemento();
        wk.restoreMemento();
 
        return 0;       
}

David Frischknecht wrote:
 > [snip codice]
dove lo inizializzi Walker *_walk?
-- 
bash: impossibile: command not found
Newsgroup: it.comp.lang.c++
Titolo: Programmare navigatore satellitare

Salve a tutti!
Avete presente i cd-rom per la navigazione satellitare? Bene io ho
quello che danno di serie alla fiat punto nuova (blaupunkt travelpilot
rns3 con cd-rom teleatlas+deagostini) e mi chiedevo se non potessi
migliorarlo un pò, visto che ci sono quasi 200Mb liberi nel cd.
Leggendo il disco si trovano moltissimi file .dat nella directory
principale, qualche .txt e nessuna subdir. Io non so quasi nulla di
programmazione ma se c'è qualcuno che può aiutarmi o darmi delle
informazioni glie ne sarei grato.

 a écrit dans le message news:
989e2c70.02041...@posting.google.com...

Maaroooonna......
anche qua?
Ma ti rendi un attimo conto di cio' che stai chiedendo?
Fai 5 minuti di riflessione dai.
Maurus
Newsgroup: it.comp.lang.c++
Titolo: "Thinking in C++" in italiano

fare quel che si vuole.
Tradurre il testo ciascuno di voi può farlo per uso proprio. Ma 
se lo rendete pubblico ... rischiate problemi legali indipendentemente
da Bruce, a meno che lui non vi abbia dato esplicito permesso.
Bruce è uno scrittore, consulente, giornalista. Vive soprattutto di
vendita
dei suoi testi, di consulenze come "formatore" e di inviti a conferenze.
Ad un certo punto ha pensato di pubblicare dei libri pubblicamente su
internet.
Continua a farsi pagare i diritti sugli articoli da rivista, ma per i
libri 
ha cambiato strategia. E per un ottimo motivo: quello che ha perso come 
guadagno dalla vendita dei libri lo ha guadagnato come fama
internazionale 
quale esperto del linguaggio. E quindi come inviti a conferenze e come 
proposte di "insegnamento".
Tra parentesi il libro in questione è vecchiotto. Infatti da un certo
punto 
in poi Bruce si è buttato su Java (vedi relativo testo free).
Concludendo: contattate Bruce Eckel e fategli sapere quello che volete
fare. 
Fategli molto ben presente che non potrete pagargli alcun diritto e che
è 
uno sforzo comune con destinazione pubblicazione su internet. Una
persona, 
possibilmente con un minimo di esperienza come editor, si incarichi di 
assicurare coerenza nella traduzione: stile, termini etc.
Proponetegli la pubblicazione non presso vostri siti ma presso il SUO
sito.
In altre parole fategli balenare (senza dirglielo) la speranza che possa
essere invitato in italia per una conferenza o una consulenza (ma non 
invitatelo, vi costerebbe MOLTO meno comprare 5 copie a testa di un 
megalibro commerciale! Senza parlare delle spese di viaggio e
soggiorno!).
Credo, ma non posso esserne sicuro, che vi dirà di si. Non è più (credo)
estremamente interessato al C++ e a quel libro. Ovviamente ditegli che
lo
volete fare perchè è un discreto testo gratuito. Non ditegli che è il 
miglior testo che avete trovato o cose del genere. Nonostante tutto
Bruce 
non è ricco, e (più o meno come ciascuno di noi) cerca il massimo 
dell'introito con il minimo della spesa.
-- 
Posted from 
adsl-21-135.38-151.net24.it
 [151.38.135.21] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 in poi Bruce si è buttato su Java (vedi relativo testo free).
Guarda che l'edizione corrente ha meno di un anno.
Ciao,
Nicola
Newsgroup: it.comp.lang.c++
Titolo: Database e C++

Qualcuno sà dirmi come posso interfacciarmi ad un DB Access di cui ho già
registrato la fonte dati ODBC nell'ODBC Manager di W98 utilizzando il C++?
Immagno si tratti di importare un  qualche tipo di  libreria (qualcosa come
odbc.h) e poi aprire la fonte in qualche modo (qualcosa come CONNECT(...))
per poi recuperare i dati dalle tabelle con delle interrogazione in SQL
 che già conosco abbastanza! ) e dei cicli for(..) ma non conosco la prassi
esatta.
Grazie a tutto l'NG.
Federico

Puoi usare le funzioni di ODBC (iniziano con Sql...) per connettere il database, eseguire la query, leggere i campi, etc.
In alternativa se usi MFC ci sono le classe CDatabase, CRecordset, etc.
Ci dovrebbero anche essere le funzioni / classi (o activex non so) per accedere tramite OLEDB.
Antonio Donatiello

 wrote in message
7qmpcj$sl1$1...@nslave1.tin.it...


 Se vuoi utilizzare ADO ti consiglio di utilizzare la direttiva #import
Spostarsi in it.comp.programmare.win32.
Grazie.
EMG
Newsgroup: it.comp.lang.c++
Titolo: fscanf_Non só piú cosa fare...

Salve,
ho la necessitá di leggere un file con c++ contenete
1500 caratteri per riga contenete delle informazioni
di un listino (codice, descrizione prezzo, etc).
Banale, ma il problema sorge quando cerco di
leggere il prezzo (sono i primi 8 caratteri di ogni riga).
Il prezzo non é in formato char, ma bensí in formato
double, e l'archivio era stato creato con visual basic.
Se aprendo con un file di testo l'archivio, al posto del
prezzo ci sono dei caratteri ascii che non riesco a
convertire in double con c++.
Ho provato con fscanf :
-----------------------------
FILE *fp = fopen("nomefile.dat", "r");
fseek(fp,0,SEEK_SET);
double var;
fscanf("%g",&var);
...
-----------------------------
Quando vado a vedere il contenuto di var, ho sempre il valore:
4.13788491182647E-313
Anche cambiando riga, rimane sempre lo stesso.
Il problema é che non so come dire al c++ di leggere
gli 8 caratteri della riga e dirgli che tutti e 8 rappresentano
un valore double.
Sapreste dirmi come fare?
Grazie

 fscanf("%g",&var);
Ciao, non so se aiuta ma io uso sscanf e per un double devi usare %lf, non
%g
da me funziona,
spero di esserti stato utile,
ciao

convertire in double con c++.
Dovresti verificare esattamente le dimensioni e le posizioni
dei campi che devi estrarre e per fare questo dovresti usare
un hex editor e non un editor per file di testo.
Esiste per la lettura anche un'alternativa ancora meno
portabile ma che richiede meno codice e che *forse* puoi
utilizzare... in pratica dichiari una struttura che abbia
tutti i campi che ti interessa leggere con il tipo e la
dimensione esatta, verifichi che il compilatore non ti crei
problemi di allineamento internamente alla struttura (o se
possibile disabiliti il padding) e se tutto e' ok puoi fare
la fread direttamente dentro una struttura C.
Io preferirei la lettura campo-a-campo in modo da evitare
questo tipo di grane sull'allineamento... inoltre potrebbe
benissimo convenirti effettuare una trasformazione dei
dati durante la lettura (es. trim degli spazi dalle stringhe)
e magari avere delle strutture record che si appoggiano a
stringhe C allocate dinamicamente invece che record fissi
anche in memoria.
HTH
Andrea

Domanda: stiamo parlando di un formato binario o testuale?
in caso testuale -> scanf e simili
in caso binario  -> read fread e simili
Ciao

fscanf("%g",&var);
^^^^^^^^^^^^^^^^^^
fscanf(fp, "%g",&var);
Spero sia solo questo...
-- 
Ciao,
Andrea (uno dei tanti)

 -----------------------------
se sei su una piattaforma tipo Windows,
devi anche ricordardi ti aprire il file in formato
binario cioe'
FILE *fp = fopen("nomefile.dat", "rb");
(con la "b")
e poi, se il numero e' in formato binario devi usare
la fread, non la fscanf,
cioe'
fread((void *) (& var), sizeof(double), 1, f);
in questo modo (di solito i double sono appunto di 8 bytes)
leggi in binario il valore nella variabile double var.
Naturalmente bisogna sperare che il formato binario
con il quale e' stato salvato il numero sia lo
stesso di quello con il quale viene letto, altrimenti
sono cavolacci.
ciao,
g.
Newsgroup: it.comp.lang.c++
Titolo: Inizializzazione data member const...

Vorrei sapere se l'unico metodo per inizializzare i data members const
è nel costruttore, scrivendo qualcosa del genere:
class myclass
{
public:
  myclass() : data(3) {};
private:
  const int data;
};
GRAZIE
Daniele.



L'unica cosa che conosco è di utilizzare la lista degli
inizializzatori come hai detto tu. Ma perché, non ti va bene?
Se c'è un altro modo fammelo sapere anche a me.
Ciao
Gabriele

  myclass() : data(3) {};
Esatto.  Lo stesso si applica all'inizializzazioni di membri reference.
Questa sintassi e` applicabile all'inizializzazione di tutte le basi ed
i membri dell'oggetto di classe myclass, e presenta parecchi
potenziali vantaggi.
Puoi usarla anche se il costruttore non e` in linea, i.e. in myclass.cpp:
myclass::myclass(): data(3)
{
}
Alex

Newsgroup: it.comp.lang.c++
Titolo: Programmare un FILTRO PHOTOSHOP

sa dirmi qualcuno come fare o dove
reperire materiale che ne parla?
grazie in anticipo.

Sull sito della adobe c'č L' ASN Software Development Kit, serve
per realizzare plug-ins in tecnologia adobe (utilizza il C++).
Quello per il Photoshop lo scarichi qui:
http://partners.adobe.com/asn/developer/gapsdk/PhotoshopSDK.html
versione 5.02
circa 7 Mb

Newsgroup: it.comp.lang.c++
Titolo: metodo per stampare un oggetto

volevo fare un metodo in una classe che
possa essere utilizzato come segue
fprintf(stderr,miaclasse);
mi interessa per il debug...
solo che non ricordo come si fa questo metodo.
(che poi restituirebbe una stringa...


Devi ridefinire l'operatore di conversione (const char *). Di getto 
proverei:
class MyClass {
public:
	operator const char * () const {
		return "solo un test";
	}
};
#include <cstdio>
int main() {
   MyClass miaclasse;
   fprintf(stderr,miaclasse);
}
E.

mitic wrote:

Che ne diresti di implementare operator<<, invece?
ostream& operator<<( ostream& out, const MiaClasse& mioOggetto )
{
        out << "Tante belle informazioni";
        // ...
        return out;
}
Per usarla basterebbe fare:
        std::cerr << mioOggetto << altroMioOggetto;
(ovvio che devi dichiararlo friend dentro MiaClasse per accedere ai privati)
Comunque, se vuoi fare debug un po' più avanzato magari ti conviene
impararti i rudimenti di GDB. Non c'è molto da imparare prima di poterlo
usare a un livello elementare ma comunque utile.
Ciao,
-Federico

Newsgroup: it.comp.lang.c++
Titolo: Splash screen.........

Qualcuno mi dà una mano sulla realizzazione di uno splash screen?
In pratica mi serve solo di capire come funziona la SetTimer per chiudere la
finestra modale "splash"....
Grazie a chiunque mi aiuti....
--
Saluti by Hawk
E-mail: 
haw...@libero.it

 wrote in message
8eptgi$eqe$1...@nslave2.tin.it...

Newsgroup: it.comp.lang.c++
Titolo: cancellare oggetti & ereditarieta'

Se eredito una classe X da una Y e se creo un' istanza di X col comando new,
quando poi la cancello con delete sparisce anche la parte ereditata da Y ?
--
Visita la mia pagina personale:
 
http://members.xoom.it/Ake
*** grafica - ingegneria - midi - humour ***
****  abandonware - emulatori - MUD ****
 ***             DragonBall / Z                ****
Il Covo di Ake ora e' anche senza fili,
visitalo con il tuo cellulare WAP a:
 
tagtag.com/ake

 quando poi la cancello con delete sparisce anche la parte ereditata da Y ?
Ovviamente. L'istanza di classe X è comunque un oggetto unico.
EMG

Newsgroup: it.comp.lang.c++
Titolo: Riconoscimento messaggi da LAN e invio su RS232

Vorrei realizzare una processo che riconosca dei messaggi da LAN e a seconda
del messaggio invii tramite seriale RS232 dei codici esadacimali: Avete dei
consigli? Dove mi posso documentarmi in proposito? Ovviamente vorrei
realizzarlo in C++ su sistema operativo Linux.
Grazie a tutti.


Allora chiedi su it.comp.os.linux.development :)
-- 
/**
  * Mattia Belletti - Undergraduate student @ 
cs.unibo.it
  * ICQ: 33292311   - email: 
mbel...@cs.unibo.it
  * IRC: BluShine   - site(s): 
http://cs.unibo.it/~mbellett
  * Linux registered user 299762 @ Linux registered machine 213003
  */

Newsgroup: it.comp.lang.c++
Titolo: ciclo for e messaggio window

Gentile NG,
In una fuznione ridisegno una scena OpenGL molto complessa tanto da
richiedere qualche secondo di attesa.
Vorrei interrompere il ciclo for che uso per il ridisegno utilizzando un
controllo che testi l'avvenuta ricezione di un messagio window di pressione
di un tasto di tastiera o di mouse. Utilizzo senza problemi la gestione di
eventi con il C++ Builder ma non riesco in questo in quanto il messaggio
viene intercettato dopo che il ciclo for finisce.
Come fare?
Grazie,
Cristoforo Billa
0000...@yescard.it



Newsgroup: it.comp.lang.c++
Titolo: accesso alla parallela in c sotto win 2000

Salve, qualcuno può aiutrmi:
Devo pilotare un bit della mia porta parallela oltre c'è qulcuno che conosce
un sistema valido che non generi un errore per via della protezione della
cara Microsoft
vedi
http://support.microsoft.com/default.aspx?scid=http%3a%2f%2fwww.microsoft.co
m%2fIntlKB%2fItaly%2farticles%2fI13%2f9%2f82.htm

 wrote in message
NXev8.59$rp5....@nreader2.kpnqwest.net...

Cerca:
- 
http://www.entechtaiwan.com/tvichw32.htm
- 
http://www.lvr.com/parport.htm
- un newsgroup più appropriato
  (it.comp.os.win.win2000, it.comp.programmare.win32)
Dan
Newsgroup: it.comp.lang.c++
Titolo: Job e Thread

Come faccio, in WinXP, a prendere l'ID di un job esterno in esecuzione (di
cui si conosce solo il nome) e sapere la lista dei suoi thread in
esecuzione?

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)
Grazie,
Nicola Musatti

 ...

Newsgroup: it.comp.lang.c++
Titolo: Programma in più files.

Salve a tutti, sono un principiante di C++ e uso VC++ 5.0.
Scrivendo programmi di tipo Console Application, potevo dividere il mio
programma su più files e il compilatore pensava a tutto.
Ho provato a fare un programma SDI e nel file ...View.cpp ci sono le
funzioni che ho scritto. Ho spostato una di queste funzioni in un altro file
ma nel momento che viene compilato mi da l'errore: "fatal error C1010:
unexpected end of file while looking for precompiled header directive".
Qualcuno sa darmi una spiegazione?
Grazie.
Francesco
E-mail:
franco....@spm.it

unexpected end of file while looking for precompiled header directive".
come dice il messaggio manca l'header utilizzato per la
precompilazione, inavvertitamente avrai raspato via la riga:
#include "stdafx.h"
Gianpaolo Bottin
- Live Long and Prosper -

Qualcuno sa darmi una spiegazione?
Presumibilmente hai settato l'uso di header-file precompilati -- buona
idea, perche` rende assai piu` veloce la compilazione, ma implica che
*ogni* sorgente che compili inizi con l'#include dell'header file
precompilato -- presumibilmente "stdafx.h" se stai usando le MFC,
come immagino che sia. (Penso che questo settaggio te lo abbia
fatto di default il wizard, puoi naturalmente cambiarlo, ma non ti
conviene se no le compilazioni diventano lentissime).
Quindi, metti un #include "stdafx.h" all'inizio di ogni tuo sorgente, e
l'errore C1010 dovrebbe sparire.
Alex

Newsgroup: it.comp.lang.c++
Titolo: rendimi standard

quali sono i "trucchi" per rendere standard ansi-iso un programma c++ fatto
da me?
ricordo delle using::std ma le ho usate solo per cin e cout.
help me!!!
--
Roberto de Simone

 da me?
sarň banale: utilizzare solo librerie standard...
<cstdlib>, <iostream>, etc. solo per citare le piů banali
ciao.
Newsgroup: it.comp.lang.c++
Titolo: standard

Salve a tutto il ng.
vengo subito al dunque:
//con g++ sotto linux
int n;
cout<<"inserisci grandezza vettore: ";
cin>>n;
int vett[n];
//compila.
---------------------------------
//con vs .net 2003 
int n;
cout<<"inserisci grandezza vettore: ";
cin>>n;
int vett[n];
//impossibile creare un array di dimensioni sconosciute.(non compila).
ora:
che cosa dice lo standard ansi/iso?
ciao e grazie.

 che cosa dice lo standard ansi/iso?
Lo standard dice che
  int n;
  ...
  int vett[n];
non č legale.
-- 
Horst

 int vett[n];
"info gcc" e lo vedrai elencato sotto le estensioni proprietarie.
  bye
	av.

 che cosa dice lo standard ansi/iso?
 
http://cassandra.comm2000.it/~maxim/pub/lnk/faqgccvla.lnk
Max

 che cosa dice lo standard ansi/iso?
Che e` illegale. Sarebbe invece legale in C99.
-- 
[ RiK0                                ]
[ Go away! The internet is full!      ]
[ Non credo negli schemi non vincenti ]

Newsgroup: it.comp.lang.c++
Titolo: File EXE Unico

Volevo sapere in che modo posso distribuire su altri pc
i software da me scritti in VC++ in un unico file .exe
senza bisogno di un processo di installazione ma allo stesso
tempo includendo tutto il necessario per la corretta esecuzione
del programma?
Grazie mille.

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)
Grazie,
Nicola Musatti
Newsgroup: it.comp.lang.c++
Titolo: Dai ragà rispondetemi.

Lo sò che mi state pensando che sono un pivello di merda ma rispondetemi!!!
Quindi riscrivo il msg.
E' questione di vita!!!!
HO studiato per 2 anni il visual basic, raggiungendo livelli, abbstanza
buoni.
Ma purtroppo considero il viasual basic un linguaggio in certi punti poco
professionale per vere applicazioni.
Ho avuto problemi soprtatutto nel passaggio di programmi a computer con
risoluzione diversa.
E anche nel rendere i progetti in programmi *.exe.
E' vero che il visual c++, è un linguaggio per raggiungere fini più alti, è
molto più completo del visual basic.
Insomma è più professiona.e
Le applicazioni  recenti, di case software,con quale dei 2 linguaggi
scrivono?
E' vero che non avrò problemi di risoluzione?
Grazie a chiunque mi vorrà rispondere!


Ciao, Luigi

 > E' vero che non avrň problemi di risoluzione?


Concordo pienamente....!
--
Fabio


 dire che non si può fare altro che DB ce ne corre...
Non ho detto questo. Ma se uno conosce il C++ e VB, secondo te, quale
linguaggio usa e perché? VB è nato per DB ed interfacce utente. Poi è chiaro
che tutto si può fare con tutto, ma nessuno si sogna di usare il FORTRAN per
programmare DB. E' chiaro che il VB ha una serie di vantaggi come la
semplicità d'uso che il C++ non ha, ma spesso questi sono anche i suoi
limiti: vuoi programmare ad oggetti seriamente con VB?
Ciao e grazie per lo scambio di opinioni.
    Luigi

 "conveniente" di C++. E' chiaramente un'opinione...
su questo non c'è dubbio :) solamente volevo spezzare un lancia in favore di
un linguaggio di programmazione che non serve "solo" a fare DB.
Non mi riferivo al tuo post in particolare solamente mi hai dato l'occasione
di espriemere la mia opinione.
Io uso ora sia c++  che vb e devo dire che entrambi hanno i loro pro e il
loro contro (come tutto)... solo che spesso mi è capitato di parlare con
programmatori c/c++ che non avevano la capacità di ammettere questo (cioè
che il c/c++ ha i suoi difetti e che v i sui pro).
So anch'io che con la versione attuale di vb non avrò uan programmazione ad
oggetti .. . ma poss anche farne a meno e faer le cose con COM che ho fatto
in VB con il c++ non è così immediato...
solo questo :)
ti ringrazio per avermi risposto senza fare di questo argomento un aguerra
santa (come spesso capita con certi devoti del c/c++ ;)...)
alla prossima Davide
Newsgroup: it.comp.lang.c++
Titolo: Liste di inizializzazione

Ciao, sempre io :)
Due domande sulle liste di inizializzazione.
1))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
Sulle C++ Annotations di Frank Brokken (ottime e disponibili in rete,
non ricordo dove, se volete guardo) viene suggerito, nel paragrafo
5.4.1, di modularizzare le operazioni di copy-ctor, assegnamento e
dtor in questo modo:
// copy constructor
Person::Person (Person const &other)
{
	// unconditionally copy other's data
	copy(other);
}
// destructor
Person::~Person()
{
	// unconditionally deallocate
	destroy();
}
// overloaded assignment
Person const &Person::operator=(Person const &other)
{
	// only take action if no auto-assignment
	if (this != &other)
	{
		destroy();
		copy(other);
	}
	// return (reference to) current object for
	// chain-assignments
	return (*this);
}
///////////////////////////////// ...dove copy e delete sono definite,
///////////////////////////////// nell'esempio, da:
// copy(): unconditionally copy other object's data
void Person::copy(Person const &other)
{
	//name č un char *
	name = strdupnew(
other.name
);
		// č una fz definita da lui che
		// permette di allocare con new
		// e deallocare con delete,
		// non fateci caso
	//age č un int
	age = other.age;
}
// destroy(): unconditionally deallocate data
void Person::destroy ()
{
	delete name;
}
Tutto questo č molto bello, ma il problema č: cosě facendo non
rinuncio a tutti i benefici che ho chiamando direttamente i
costruttori copia nella lista di inizializzazione?
Cioč: se io faccio
// copy constructor
Person::Person (Person const &other):
	age(other.age)
{
	name = strdupnew(
other.name
);
}
non č meglio? Intendo dire, in questo caso risparmio solo la
costruzione di un intero, ma se age fosse stato un oggetto da 100kB...
2))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
Questa č piů facile e piů veloce:
Supponiamo che la classe Calzone discenda da Pizza, e che Pizza abbia
un data member, diciamo
float pomodoro;
Ecco, c'č un modo per inizializzare pomodoro in un costruttore di
Calzone?
Esempio: se faccio
Calzone::Calzone():
	pomodoro(6.4)
{/*...*/}
il compilatore si arrabbia:
Error:tesi.cpp(7,11):'Pizza::pomodoro' is not an unambiguous base
class of 'Calzone'
Come posso fare?
Grazie a tutti, giulio
Per favore togliete "!RemoveMe!" dall'indirizzo per rispondere
Please remove "!RemoveMe!" from the address to reply

Come posso fare?
Deve esse la classe Pizza a fornirti un ctor ad hoc!
Paolo
-----------------------------------------------
  Paolo Marotta
  Computer Science, University of Pisa
  home:   
http://www.cli.di.unipi.it/~marotta
-----------------------------------------------
Newsgroup: it.comp.lang.c++
Titolo: conversione jpg-bmp

Salve a tutti, nel modulo di un applicazione che sto realizzando in
ambiente C++Builder avrei necessità di convertire immagini .jpg in
.bmp e viceversa. Le manipolazioni che è possibile condurre sulle
immagini in tale ambiente sono infatti limitate al formato .bmp. Se
non sono off-topic, qualcuno saprebbe indicarmi un URL da cui
prelevare codice free per realizzare detta conversione?
Grazie a chi vorrà aiutarmi,ciao.
geordie

 ha scritto nel messaggio
news:dfe8dec2.03072...@posting.google.com...

1) Sei ovviamente OT .
2) Se, prima di fare domande, ti leggessi l' help in linea vedresti che l'
esempio associato alla classe TJPEGImage
    riguarda proprio il salvataggio di una bitmap in JPG.
3) Per analogia si risolve il problema opposto.
-------------
Sergio Bianchi

 Sergio Bianchi
Ops, chiedo venia e perdono, la potenza di quell'Assign() lì m'era
completamente sfuggita, nonostante nell'help c'avessi rovistato un pò
prima di disturbare la quiete del NG...
Cmq grazie, e buona giornata.
geordie

Newsgroup: it.comp.lang.c++
Titolo: Sulle Edit Boxes...

Sono diversi giorni che sto cercando di capire come copiare una struct i cui
valori sono derivati da delle edit box! Datemi una dritta!! Ho qui un pezzo
di programma (Uso Borland c++ Builder ) :
struct Persone {AnsiString nome[25];AnsiString n_tel[15];AnsiString
note[25];};
struct Persone people[50];
int n=0;
void __fastcall TForm1::button1_click(TObject *Sender)
{   n++;
people[n].nome=Edit1->Text;
people[n].n_tel=Edit2->Text;
people[n].note=Edit3->Text;
   FILE *fptr;
   if( (fptr=fopen(&filename[0],"ab"))==NULL )
      Edit2->Text="Can't open file !";
   else
      {
      fwrite(&people, sizeof(people[0]), n, fptr);
      fclose(fptr); }
}
Ho provato tutte le combinazioni. E' meglio convertirle in *char :
char *nome;  nomeEdit->Text.c_str();??  E come?!?
 Grazie!                                             Mons.

 wrote in message 7qpucc$kor$2...@nslave1.tin.it...

Newsgroup: it.comp.lang.c++
Titolo: BC Builder 3.0

Vorrei scrivere (e possibilmente compilare) un progetto scritto in C
standard per Windows (SDK). Naturalmente non ho problemi con il linguaggio
e l'SDK, ma con l'ambiente che ho appena cominciato a testare, per
l'appunto il BC Builder 3.0.
Qualcuno può darmi una dritta?
GRAZIE
sus...@symbolic.it

...


 l'appunto il BC Builder 3.0.
Ho visto che Marco Abis ti ha già spiegato come fare, quindi aggiungo
solo alcune considerazioni personali, sperando che siano ben accette.
Usare il Builder per compilare applicazioni scritte in C e SDK mi sembra
come 'usare un caccia bombardiere per far fuori una mosca'.
Mi spiego:
il punto di forza del Builder è la creazione e gestione dell'interfaccia
utente grafica del programma mediante la VCL ed inoltre la gestione dei
database. Se scrivi i tuoi programmi in C tutto ciò a te non serve,
anzi, ti è solo di ingombro e può addirittura rallentarti il lavoro.
In pratica ti serve solo il compilatore ed il debugger.
Se quello che stai cercando è un compilatore C ottimizzato per Win32,
magari con un IDE, un debugger ed un resource editor, allora forse LCC
di Jacob Navia è quello che fa al caso tuo. E' un compilatore C freeware
con IDE e tutto il resto per Win95/NT. Il tutto in un file zip di 1,5
MB.
L'indirizzo è: 
http://www.cs.virginia.edu/~lcc-win32/
Sarebbe inoltre estremamente interessante, una volta che avrai finito il
programma, compilarlo con i diversi compilatori e confrontarne le
prestazioni, in termini sia di efficienza che di diemnsioni
dell'eseguibile.
Tutto ciò , naturalmente, secondo la mia modesta opinione personale.
Sperando di esserti stato utile, ti saluto.
Ciao.
Roberto Gerola

Basta che fai attenzione agli switch del compilatore a linea di comando e
tutto va bene.
Ciao, Stefano

Newsgroup: it.comp.lang.c++
Titolo: Allocazione di memoria

Salve a tutti, ho un problema con l'allocazione di memoria. Il programma
gira sotto DOS e il pezzo di codice che da problemi è il seguente:
	unsigned long k;
	void *buffer;
	k = 0;
	do {
		buffer = realloc(buffer, ++k);
	} while (buffer != NULL);
	k -= 1;
	buffer = realloc(buffer, k);
Ora: se ad un certo valore di k l'allocazione fallisce, perche dovrebbe
fallire anche per k-1 (che dovrebbe essere il più grande valore
possibile valido)?
Ciao e grazie a tutti in anticipo per l'aiuto.

Ciao e grazie a tutti in anticipo per l'aiuto.
HTH
Andrea
--
Andrea Griffini, Programmer
http://www.netservers.com/~agriff

 sistema non e' in grado di trovare un altro blocco cosi' grande.
Wow! Grazie infinite per l'aiuto!
Ciao.
Newsgroup: it.comp.lang.c++
Titolo: poll e select

In questa faq 
http://www.parashift.com/c++-faq-lite/input-output.html#faq-15.17
 
relativa al mio post precedente c'e' scritto che devo usare select() o 
poll(). Che funzioni sono? E soprattutto come le uso?
-- 
Devaraja (Xdevaraja87^gmail^c0mX)
Linux Registerd User #338167
http://counter.li.org

 poll(). Che funzioni sono? E soprattutto come le uso?
Come accennato nella FAQ, si tratta di funzioni estranee al C++ standard 
normalemente disponibili in ambiente Unix. Se sviluppi su piattaforma 
Linux, come la tua signature lascerebbe sospettare, puoi consultare 
l'apposita documentazione mediante il comando 'man' o leggerti qualcuno dei 
vari tutorial sulla programmazione in ambiente Unix/Linux/BSD/POSIX/(etc).
Il newsgroup più appropriato, in questo caso, non è però questo bensì
it.comp.os.linux.development. 
Max

Newsgroup: it.comp.lang.c++
Titolo: bit to bit

Un saluto di nuovo a tutto il NG
mi sento di chiedere un'aiuto a voi perchè anche rivedendo gli
operatori bit a bit non riesco a capire se la conclusione di queste
due righe di codice le ho capite giustamente...
l'operatore in questione è  &  e specifica che se fra 2 variabili corrisponde
lo stesso bit , questo prende il valore 1.
il codice:
     short v=655535;
     short riserva;
     output<<(char)( (v>>4) & 0x0ff);
     riserva=v&0x00f;
  traduco la 1 riga...output<<(char)( (v>>4) & 0x0ff):
(v>>4)        0000 1111 1111 1111   //adesso v ha questo valore
0x0ff              0000 1111 1111
operatore &   0000 0000 1111 1111
scrittura su file col casting        1111 1111
  traduco la 2 riga...riserva=v&0x00f:
v             0000 1111 1111 1111
0x00f              0000 0000 1111
operatore &   0000 0000 0000 1111   //riserva prende questo valore
cortesemente qualcuno potrebbe dirmi se sono riuscito a tradurre
giustamente?
grazie di nuovo
duido
-- 
Posted from  [62.98.95.51] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG


mi pare proprio di sě
Pela

Newsgroup: it.comp.lang.c++
Titolo: Come si vede se esiste la scheda sonora?

Devo suonare alcuni file .wav in windows95 con le direct sound ma
vorrei  sapere prima
di suonare i file se  se esiste la scheda sonora per evitare il crash
del programma.
Andres Ghelarducci

Prima di porre questa domanda, studiati le DirectSound. Se lo avessi
fatto sapresti che le normali operazioni consistono in:
1)	chiedere un elenco dei device disponibili
2)	per ciascun device verificare le sua capacit=E0 HW
3)	creare un buffer sul device prescelto
4)	=85=20
Ovviamente tutte queste cose si fanno con le api delle DirectSound
stesse.
---
     Andrea Ferro
SW.AN. Technologies s.a.s.
Merate (Lc)          Italy

Newsgroup: it.comp.lang.c++
Titolo: Shift

#include <cstdio>
#include <iostream>
using namespace std;
struct Pr
{
 short pr;//16 bit
};
int main()
{
 Pr *p;
 p->pr = 10;
 char es;
 es = (p->pr >> 8);
 cout << "Bit di pr(int) " << sizeof(p->pr) << "\n";
 cout << "Bit di es(char) " << sizeof(es) << "\n";
    system("PAUSE");
    return 0;
}
Come mai mi da pr 2 e es 1???
in Questo modo es(8 bit) nn diventa la meta esatta di pr(16 bit)?

sizeof(short int) = 2 byte = 16 bit
sizeof (char) = 1 byte = 8 bit
non capisco quale sia il tuo problema, cosa ti aspettavi esattamente dal 
codice ?

 ha scritto nel messaggio
news:Xns941291FED5C13gi...@213.140.2.16...



Si e no.
E' sbagliato il tuo codice che se non va in crash e' un miracolo, visto
che non inizializzi p.
E' giusto (essendoci per pura fortuna arrivato) il risultato che
ottieni.
E' un po' poco chiaro cosa cerchi di fare, cosa c'entri lo shift col
sizeof e l'ultima domanda del tuo messaggio originale.
 bye
	av.

> Quindi è giusto?
E' giusto che ti dica che uno short int e' grosso 2 (byte) e che un char 
e' grosso 1 (byte).

Newsgroup: it.comp.lang.c++
Titolo: Ambiente c++ Windows

Vorrei sapere il nome di un buon ambiente visuale di sviluppo per c++,
ovviamente free da usare su Windows Xp.
Grazie!


Ce ne sono vari di compilatori sotto Windows... personalmente mi trovo
benissimo con il Borland C++BuilderX che nella versione personal e' gratuito
(serve solo una registrazione).
Vai su 
http://www.borland.com/products/downloads/download_cbuilderx.html
Bye
Marco

 Borland C++BuilderX
scusa, ma sai dirmi la differenza tra questo e il Borland C++Builder (senza
la X) ?
grazie
-- 
    .--._____,	
http://magicforum.altervista.org
 .-='=='==-, "
(O_o_o_o_o_O
Newsgroup: it.comp.lang.c++
Titolo: array senza allocazione dinamica

Vorrei scrivere una classe array che non utilizzi l'allocazione dinamica 
(la dimensione ï¿œ nota a compile time) e che non abbia funzioni virtuali.
Questo perchï¿œ lo voglio usare con array di piccole dimensioni e deve 
essere molto efficiente in lettura.
E' sensato il seguente approccio? Si puï¿œ scrivere meglio?
// classe base tramite la quale posso
// mettere array di dimensioni diverse nello stesso contenitore
// e posso andare a leggere gli elementi senza usare funzioni virtuali
template<class T>
class ArrayBase {
private:
   int size;
protected:
   ArrayBase():size(0){};
public:
   ...
   T &operator[](size_t i) {
      assert(i<=size);
      // assumo che i dati si trovino immediatamente dopo
      // la variabile size.
      T *data=reinterpret_cast<void *>(&size)+sizeof(int);
      return data[i];
   }
   ...
};
// classe parametrizzata sul numero massimo di elementi
// mi permette di evitare l'allocazione dinamica
template<class T, int MAX_SIZE>
class Array: public ArrayBase<T>
{
   private:
      T data[MAX_SIZE];
   public:
      ....
      push_back(...);
      ....
};
// E.

 E' sensato il seguente approccio? Si puï¿œ scrivere meglio?
E' gia' stato scritto di meglio da Josuttis e Strustrup, per poi finire 
in Boost: 
http://www.boost.org/doc/libs/1_41_0/doc/html/array.html
 > template<class T, int MAX_SIZE>
 > class Array: public ArrayBase<T>
Non vedo l'utilita' di avere la classe ArrayBase separata da Array.
-- 
Carlo Milanesi
http://digilander.libero.it/carlmila

Carlo Milanesi ha scritto:

Il fatto ï¿œ che devo mettere insieme molti array di diverse dimensioni in 
un unico contenitore. Dunque mi serve una forma di polimorfismo.
E.


E aggiungo che farï¿œ anche parte dello standard.
Per ora ï¿œ in tr1::array (vedere ad es. 
http://msdn.microsoft.com/en-us/library/bb983093.aspx
)

Newsgroup: it.comp.lang.c++
Titolo: Settare le variabili di ambiente per semrpe

Ciao,
ho necessità di poter settare alcune variabili di ambiente per sempre ...
usando getenv e setenv ho un effetto limitato alla durata della
applicazione,
sapreste darmi qualche suggerimento?
Lavoro su sistema Windows.
-- 
O=O=O AriZOnA O=O=O

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)
Grazie,
Nicola Musatti
Newsgroup: it.comp.lang.c++
Titolo: Interprete

Salve, vorrei inserire un interprete in un programma che supporti
if-then-else, confronti, variabili, ecc. con funzioni interne e funzioni
definibili dall'utente.
Vorrei sapere:
1. Devo fare tutto da solo oppure esistono programmi che lo creano
automaticamente;
2. Se questi programmi esistono vorrei sapere quali sono e se sono
facilemnte integrabili all'interno di un altro programma (perché dovrei
anche usare funzioni interne);
3. Se non esistono vorrei avere qualche suggerimento o consiglio per
iniziare
grazie
Demetrio Filocamo (
dfil...@tin.it
)

Ciao,
    l'argomento e' complesso e sarebbe comunque necessario sapere che
linguaggio usi e per quale piattaforma. Microsoft cmq distribuisce
gratuitamente un componente che permette di integrare all'interno dei propri
programmi un interprete VBScript o Javascript.
Magari non sono minimamente quello che ti serve, ma non sapendolo con
esattezza ci provo :-)
Ora non trovo l'URL per scaricarlo, appena ce l'ho te la posto.
Se invece sei sotto Linux (o UNIX-like) esistono numerosi tools che ti
possono aiutare a fare questo (lex & yaac ad esempio)
A presto :-)
Marco Abis
http://www.programmazione.it
ab...@programmazione.it

 wrote in message 7ju8o6$cca$1...@auth2.ats.it...


Newsgroup: it.comp.lang.c++
Titolo: std::stringstream reset

Ciao a tutti,
esiste un modo per resettare uno std::stringstream ?
In pratica ho bisogno di 'ripulire' dai caratteri immessi uno stringstream
per poterlo riutilizzare in seguito con dei nuovi valori.
Mi aspettavo che il metodo di flush() sortisse l'esito sperato ma così non
è stato.
Qualcuno mi sa dare una mano ?
Grazie 
Giampiero

 esiste un modo per resettare uno std::stringstream ?
Se ho capito bene:
std::stringstream prova;
// ...
prova.str("");
-- 
LF



Grazie! era esattamente quello che mi serviva!
Ciao.

Newsgroup: it.comp.lang.c++
Titolo: Creazione applicazioni per dos con BC5 C++

salve,
come faccio a creare un'applicazione per dos con il
compilatore borland 5.02 c++ ?
ho provato con new project ..e l'ho configurato per
creare applicazioni per dos ma in fase di compilazione
ricevo il messaggio (Make failed !)
quindi esiste la possibila' di creare applicazioni dos anche
senza progetti ?.. e come posso ovviare all'errore su scritto ?
grazie per l'attenzione

 senza progetti ?..
Credo di si, tramite TargetExpert, ma ti consiglio di creare
un progetto sempre e comunque all'interno dell'IDE, dato che è
veramente facile farlo.
Se compili dalla linea di comando, puoi tranquillamente
utilizzare:
BCC sorgente.cpp
per costruire un eseguibile DOS.
HTH,
Aldo Trianti.

Newsgroup: it.comp.lang.c++
Titolo: Puntatore a oggetto template

Salve,
   supponiamo di avere una classe definita con template.
   E' possibile avere un punutatore ad un oggetto qualsiasi creato a
partire da questo template?
   Bho!
      Cris

 partire da questo template?
Provo a dare una risposta:
class Base {
	...
};
template <class T>
class Derivata: public Base {
	...
};
Derivata<int>* x = new Derivata<int> (...);
Base* y = x;
-- 
Fabrizio Di Giuseppe
fabrizio.KILLME.@iride.com
(remove ".KILLME." from the address to send me a message)

partire da questo template?
Per ottenere questo bisogna che i template in questione
derivino tutti da una classe base in comune:
class LaBase {
    // ...
};
template <class C>
class UnTemplate: public LaBase {
    // ...
};
e cosi`, voila!, un LaBase* potra` puntare in
realta` a qualsiasi UnTemplate<mah>...
Ricordati se segui questa strada di usare in
modo opportuno le funzioni virtuali, e, in
particolare, puo` servirti in LaBase un
_distruttore_ virtuale...
Alex

 _distruttore_ virtuale...
   In pratica la mia classe base sara' praticamente vuota, a parte un
costruttore di default e un distruttore, appunto, virtuale, che verra'
ricoperto dalla classe template derivata.
   Gia' che ci sono, ho bisogno di funzioni statiche che accettino due o
piu' argomenti di questa classe definita con template, ad esempio:
template <class DataTypeX, class DataTypeY>
void              TheFunction(
                                       DataMatrix<DataTypeX> * inX,
                                       DataMatrix<DataTypeY> * inY);
   Ora, mi piaceva inserire tutta una serie di queste funzioni in una
classe "finta", nel senso che contiene solo funzioni di questo tipo
"statiche":
class Operatori
{
public:
   static void Operatore1(...);
   static void Operatore2(...);
};
in modo da chiamarle con:
Operatori::Operatore1(...);
Pero' mi trovo nuovamente a scontrarmi con questi template. E' possibile
una cosa del genere?
      Cris

una cosa del genere?
Supponendo (ma sto solamente tirando a indovinare) che la tua 
intenzione fosse quella di avere le varie funzioni statiche della
classe operatori come template ciascuno diverso (e che i tre
puntini, valida sintassi C e C++ ma semanticamente qui priva
di senso, fossero solo un'aberrazione temporanea), allora ti diro`:
e` possibilissimo se non si usano gli ultimissimi release dei vari
compilatori; e` da molto poco che si possono avere funzioni
membro di una classe che sono dei template, e la maggior parte
dei compilatori implementa questa feature da pochissimo tempo
e magari solo parzialmente.
Comunque la "classe finta" piena solo di funzioni statiche e`
passata di moda con l'introduzione dei namespace (e un
compilatore che ti supporti i template member probabilmente
supportera` anche i namespace).
Alex

 supportera` anche i namespace).
   Giustissimo. Credo che abbandonero' questa strada per i namespace! :-))
   Grazie per l'aiuto
      Cris
Newsgroup: it.comp.lang.c++
Titolo: OT (x Carlo Milanesi)

Ciao, scusa se ti scrivo qui, ma magari hai un antispam e ti 
arriva una mail ignota.
 
Ti ho scritto delle spiegazioni per una mia cavolata che ho 
combinato su Linkedln, non te la prendere, mi sono mosso in 
modo maldestro perché non so niente di quel sito e i suoi 
meccanismi, ed è veramente invadente e ti forza la mano.
Ciao
 
 
-- 
1) Resistere, resistere, resistere.
2) Se tutti pagano le tasse, le tasse le pagano tutti
Soviet_Mario - (aka Gatto_Vizzato)
 


 
Dammi retta (è un modo di dire, odio le paternali), se non
stai cercando lavoro disiscriviti immediatamente... mai
visto niente di più invasivo della privacy e dei caxxi
propri. E' assurdo, tanto per cominciare, che io visiti un
profilo e il visitato lo venga a sapere. Ma questo è solo
l'inizio di quella schifezza.
 


se ti leggevo prima non accettavo a mia volta l'invito, ma 
mi era venuto da una persona un po' speciale, diciamo così 
(una ex !). Cmq le password della mia casella di posta non 
le ho affidate al sito, forse per questo gli bruciava e 
continuavano a rompermi i coglioni con il trova contatti :(
Grosso errore, concordo dispiaciuto



 
P.S. ho effettuato la disiscrizione. Spero che vada a buon 
fine, e se no, di capirlo :-\


 buon fine, e se no, di capirlo :-\
 
^_^

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

Qt per Windows.
Qualche anno fa scaricai e installai  QtSdk-offline-win-x86-v1_2_1 che 
pesava circa 1.7 GB.
 
Oggi sono ritornato sul sito di Qt e non ho trovo piï¿œ il megafile da 1.7 
GB bensi  una serie di download...
Qt Creator
Qt Opensourse
Qt designer
ecc. ecc.
 
di peso considerevole ma di molto al di sotto del 1.7GB.
 
Per avere una Ide (tipo Visual Studio della Microsoft) con cui disegnare 
interfacce e scrivere codice (ad esempio all'interno di un pulsate), 
cosa devo installare?
 
Ho scaricato e installato 
"qt-windows-opensource-5.1.1-mingw48_opengl-x86-offline" ma non ho 
capito come creare l'eseguibile...
 
Ciao
 
nero23
 
 
 
 
 
 
 
 
 

 "qt-windows-opensource-5.1.1-mingw48_opengl-x86-offline" ma non ho
 
Ok, hai fatto la cosa giusta.
L'IDE lo esegui cosi':
<percorso dove hai installato>\Tools\QtCreator\bin\qtcreator.exe
 
Fatto questo non ti resta che cominciare a leggere l'help
e imparare ad usarlo. ;-)
 

Il vecchio programma da 1.7 GB ï¿œ ancora valido? Nel senso ci sono 
notevole dufferenze con l'ultima versione?


 
Questa e' l'ultima versione, ed e' quella che hai scaricato tu.
Ciao.
Newsgroup: it.comp.lang.c++
Titolo: Leggere i metatag IPTC da un'immagine

Salve,
Scusate il cross-posting ma non sapevo dove fare la domanda... mi
piacerebbe leggere, ed eventualmente modificare i tag IPTC
(autore,copyright etc) di un'immagine... ho provato a vedere le
documentazioni sul formato, ma sono poco chiare. Ho cercato anche su
freshmeat ma l'unico esempio č in php (e non ci capisco un caxxo ;).
Avete qualche sorgente o conoscete un link dove reperire delle info
utili (sono graditi esempi :P).
Grazie ancora infinite, e ancora una volta perdonatemi il cposting.
daniele

> Grazie ancora infinite, e ancora una volta perdonatemi il cposting.
scusa ma questo è un ng sul C...
il cervello l'hai vinto nelle sancarlo junior ?

FRaNCeSCo <?@?.?> wrote:

Io non credo di conoscerti quindi non vedo perchè dovresti prenderti
tutta questa confidenza. 
La mia domanda era pertinente il c perchè cercavo esempi o librerie in c
a riguardo. Se poi questo è troppo off-topic basta dirlo, senza dover
necessariamente insultare gli altri.
Prima di postare fai un #import "cervello.h" #import "educazione.h"
Scusate ancora
Daniele

ho esagerato, scusa ma ero un po' inca**oso oggi, sorry

 Prima di postare fai un #import "cervello.h" #import "educazione.h"
#include "educazione.h"
#include "cervello.h"
C:\>iao Angelo
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

Newsgroup: it.comp.lang.c++
Titolo: dubbio sui contenitori

Ciao a tutti.
Supponiamo di avere due classi definite come segue:
class A {
public:
    ...
private:
    int data;
};
class B : public A {
public:
    ...
private:
    float additional_data[10];
};
La situazione quindi è sizeof(B) > sizeof(A), con B derivata da A.
Mi chiedo: se ho un contenitore del tipo std::deque<A>, questo accetterà
indifferentemente inserimenti di istanze di A oppure di B, giusto? Ma visto
che le dimensioni degli oggetti nei due casi sono diverse, come si comporta
il contenitore? Esegue correttamente le sue operazioni di
allocazione/deallocazione, oppure gli elementi devono tassativamente essere
della stessa dimensione affinché tutto funzioni bene?
Grazie dell'aiuto,
    Marco
--
/*
rimuovi _NOSPAM_ dall'indirizzo email per scrivermi!
*/

 indifferentemente inserimenti di istanze di A oppure di B, giusto?
Giusto; ma non le accetta come ti aspetti tu           8^)
Quando inserisci un elemento e.g. con push_back, viene chiamato il
costruttore di copia - piu' esattamente il costruttore di copia della
classe A - sull'oggetto inserito; quindi inserirai sempre un'istanza
della classe A, perdendo nell'inserzione tutti i dati addizionali.
Penso tu voglia usare un contenitore di _puntatori_ ad A; in questo
modo quello che viene inserito puo' essere anche un puntatore ad una
istanza della classe derivata, ed i due casi verranno risolti a
runtime usando metodi virtuali.
-- 
Maurizio Loreti                         
http://www.pd.infn.it/~loreti/mlo.html
Dept. of Physics, Univ. of Padova, Italy          loreti at pd dot infn dot it
Newsgroup: it.comp.lang.c++
Titolo: [INFO] BCC 5.02 e ottimizzazione

Salve,
per evitare polemiche imposto il followup su poster.
Volevo sapere se il compilatore BCC 5.02 permette l'ottimizzazione
i286.
Grazie.
-- 
DGP85
http://daps.cjb.net/
Don't change the address.
No Binaries or HTML at this address.

i286.
Si, ma soltanto per i project a 16 bit. A 32 bit invece il minimo e'
386. Spero che sia d'aiuto anche agli altri utenti.
Bye.