mii-community/UsenetArchiveIT-conversations huggingface dataset:
Newsgroup: it.comp.lang.c++
Titolo: Esercizio sui puntatori:

Ho svolto il seguente esercizio sui puntatori, dato un programma per la
soluzione di equazioni di secondo grado che ho svolto io senza puntatori,
utilizzare il maggior numero di operazioni per mezzo di puntatori
dereferenziati.
Se qualcuno ha un po' di tempo vorrei dei commenti sul mio svolgimento, non
avendo una soluzione. So solo che funziona.
#include <iostream>
#include <math>
#include <stdlib>
using namespace std;
float calcolo0(float j, float k);
float calcolo1(float j, float k, float l);
float calcolo2(float j, float k, float l);
int main()
{
float a,b,c,delta,x1,x2;
float *p_delta, *p_x;
cout<<"Calcolo delle radici dell'equazione ax^2+bx+c=0\n";
cout<<"\nInserisci a: ";
cin>>a;
cout<<"\nInserisci b: ";
cin>>b;
cout<<"\nInserisci c: ";
cin>>c;
cout<<endl<<endl;
p_delta=&delta;            /*aggiunto di proposito */
*p_delta=b*b-4*a*c;
if (delta<0)        /* caso sol. complesse */
    exit(EXIT_FAILURE);
else if (a=0)
    {
    cout<<"Equazione di primo grado, x="<<-c/b;
    }
else if (delta==0)
    {
    p_x=&x1;
    *p_x=calcolo0(a,b);
    cout<<"Le due soluzioni sono coincidenti\n";
    cout<<"x1=x2="<<*p_x<<" o "<<x1;
    }
else
    {
    p_x=&x1;
    *p_x=calcolo1(a,b,delta);
    p_x=&x2;
    *p_x=calcolo2(a,b,delta);
    cout<<"Esistono due soluzioni reali e distinte:\n";
    cout<<"x1="<<x1<<endl;
    cout<<"x2="<<x2;
    }
    return(EXIT_SUCCESS);
}
float calcolo0(float j, float k)
{
float result;
result=-k/(2*j);
return(result);
}
float calcolo1(float j, float k, float l)
{
float result;
result=(-k-sqrt(l))/(2*j);
return(result);
}
float calcolo2(float j, float k, float l)
{
float result;
result=(-k+sqrt(l))/(2*j);
return(result);
}

     {

Newsgroup: it.comp.lang.c++
Titolo: INTERFACCIA GRAFICA

Salve ragazzi sono un programmatore in c++ , volevo sapere se conoscevate un 
manuale o un libro dove si tratta l'argomento delle api win 32 possibilmente 
in italiano oppure in inglese. Grazie 

se devi iniziare da zero ... io inizierei da
[Charles Petzold] Programming Windows -
che trovi credo online gratuito in inglese ... o di sicuro lo trovi con 
il p2p.
Non è basato sul c++ ma sul  C ma ti da una vista di insieme delle API 
che a me è stata molto utile ...
ciao
PP


Newsgroup: it.comp.lang.c++
Titolo: [?] Tutorials, corsi su Visual C (C++)

Ciao a tutti !
Sono un neofita su C, C++ , Visual C ..ecc.ecc... finora ho usato solo
Visual Basic.
Dove posso trovare dei tutorials su come usare Visual C , e magari con
delle sorgenti di esempio ?
Grazie per aver letto il mio messaggio
DaVe

...


Grazie per aver letto il mio messaggio
Puoi trovare molti tutorial su 
http://www.vcdj.com/
Ciao Sergio

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

salve,
io provengo da delphi e vorrei aumentare i miei skills in c++ posso
chiedere consiglio???
Grazie in anticipo
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 chiedere consiglio???
Hai letto le FAQ?
Max
Newsgroup: it.comp.lang.c++
Titolo: Guida sul Type Casting?

Salve a tutti,
  sono nuovo al C++ (ma non propriamente nuovo alla programmazione) e 
tra le prime cose che studio mi trovo di mezzo il Type Casting. Vorrei 
approfondire l'argomento ma su Internet continuo a trovare sempre e solo 
le stesse cose.
 
Vorrei ad es. sapere meglio che succede a livello di memoria quando si 
fa il down/up-casting di una variabile, specialmente quando si comincia 
ad avere a che fare con i puntatori.
 
A tal proposito ho trovato un'interessante lezione su Youtube: 
http://www.youtube.com/watch?feature=player_detailpage&v=H4MQXBF6FN4#t=1741s
 
 
Vorrei approfondire l'argomento. Avete consigli su libri/siti/guide?
 
Grazie,
   Roberto

 Vorrei approfondire l'argomento. Avete consigli su libri/siti/guide?
 
Le lezione al link trattano di C e di alcuni aspetti low level e anche
di aspetti legati a piattaforme e implementazioni. Se stai
"coscientemente" imparando il C++ (e non il fantomatico quanto
controproducente "C/C++" [0]), ti consiglio di non divagare troppo e
di rimanere sulle pratiche più moderne e safe consigliate[1].
 
Per approfondire quello che chiedi, le risorse consigliate sono sempre
le solite (e trattano ovviamente di C):
Expert C programming di Peter van der Linden
C Traps and Pitfalls di Koenig
Computer systems a programmer's perspective di Bryant, Hallaron e
altri
K&R 2nd ed., Harbison and Steele, ...
...
e non ultimo, il bel corso del video nel link.
 
[0] nota che il professore di Stanford distingue quando può, ad ogni
passo, cosa vale per chi e come si comporta un certo qualcosa nei due
linguaggi, separatamente.
[1] vedi static_cast al posto dei cast C-style come nel video

Newsgroup: it.comp.lang.c++
Titolo: Manuale C++

Salve,
sono stra-nuovo del NG, volevo sapere se esistono in rete dei manuali di C++
volevo impararlo ma mi scoccia parecchio spendere cifre assurde in libri.
Grazie.

Kris. in data 20:00, lunedì 28 luglio 2003 credendo di farsi bello ha
scritto:

Cerca su google "Thinking in C++"
Se cerchi bene trovi anche la traduzione in italiano(ma solo di uno dei due
volumi)
-- 
Frodo Baggins
Webmaster di Arrampicata.net 
http://www.arrampicata.net
Webmaster di Neverwinter Nights Italia 
http://bebbbo.altervista.org

 volumi)
Cerca anche C++ Annotations
Bye
Antonio

 volumi)
http://www.umbertosorbo.it/
Newsgroup: it.comp.lang.c++
Titolo: Device drivers

HELP!
Vorrei sapere come e dove trovare documentazione su come scrivere device
drivers per Win 95-98.
In particolare vorrei poter leggere e scrivere su porte di I/O.
Vorreste essere cosě gentili da rispondermi a 
gap...@tin.it
? Grazie.

 wrote in message
783atm$2im$1...@nslave1.tin.it...


 In particolare vorrei poter leggere e scrivere su porte di I/O.
Per scivere un driver devi avere il DDK (Driver Development Kit),
all'interno del DDK esistono poi vari esempi.
La documentazione ufficiale e' rappresentata dalle MSDN. 
Dai un'occhiata qui:
http://www.einev.ch/references/mondada/mmp/
c'e' un driver general purpose pero' e' per WinNT.
-- 
     (ZZZ)       Filippo Salotti, Bagni di Lucca, Lucca, Italy.
    //   \\  _                 E-mail : 
fil...@humnet.unipi.it
   /Y\    ZD<_o===============================================o
 .oZZZZZo.     | Studente Ingegneria Informatica Automatica  |
<OXXXXXXXO>    | Dip. Sistemi Elettrici Universita' di Pisa. |

Newsgroup: it.comp.lang.c++
Titolo: Una cosa semplice per voi esperti

Vorrei sapere a cosa serve il comando extern
Grazie
-- 
Posted from 
mail-3.tiscalinet.it
 [195.130.225.149] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 wrote in message
news:32C9A6E0...@tiscalinet.it...


La parola chiave "extern" si antepone alla dichiarazione di una
variabile per indicare che tale variabile e' definita in un altro
modulo, e che quindi il compilatore non deve riservare dello spazio nel
corso della compilazione del modulo corrente.
Ciao,
Nicola





Aggiungo, a titolo di precisazione, che extern puo' essere usata,
oltre che per dichiarare, anche per definire.
Scrivere :
extern int i = 0 ;
e' perfettamente legale, ma e' equivalente alla semplice definizione
dell'intero i.
--
Andrea Laforgia (ICQ 87230455)
http://www.geocities.com/AndreaLaforgia
"ci sono tre tipi di persone nel mondo : quelli che
 sono bravi in matematica e quelli che non lo sono."

Newsgroup: it.comp.lang.c++
Titolo: Documentazione VC++ sul CD!

Ho già postato un msg di richiesta di aiuto circa 3 giorni fa...
ma il mio server no lo ha già più!
Ho cercato la documentazione (file pronti per essere stampati.. come quelli
di VB5 che sono sul CD "manuale del programmatorere" ) ma non la ho
trovata...
mi è stato detto che la trovo dentro l'utimo cd del DEVSTUDIO...
soto MSDN.,,,
ma io ci hi trovato solo tanti file IVI e IVT... sono forse quelli quello
che sto cercando.?
Ma con cosa si aprono!?
Grazie
MAssiale

Sui 2 cd del visual studio, contenenti tutta la doc msdn relativa a VS,
trovi setup.exe, che ti installa tutto il pesante ambiente di help, che
legge appunto quei misteriosi files.
byebyte
Newsgroup: it.comp.lang.c++
Titolo: classe template come parametro template

Si può passare una classe template come parametro template?
template<class T>
class Uno
{
}
template<class T>
class Due
{
   T<int> xxxx;
}
...e quindi...
Due<Uno> pippo;
...mi un errore tipo "missing template argument list...".

Due<Uno> pippo;
Uno è una classe template, non esiste come tipo a sé stante.
Devi specificare il tipo.
Una scrittura corretto è, per esempio:
Due<Uno<int> > pippo;

 Si puņ passare una classe template come parametro template?

Devi usare i Template Template Parameters
template <class T>
class Uno
{
} ;
template <template <class SubT> class T>
class Due
{
  T<int> xxxx ;
} ;
int main() {
  Due<Uno> pippo ;
}
Ma sinceramente non so quanti compilatori li supportino i TTP.
Il VisualC++ dalla 2005 in poi son sicuro di si, la 2003 non ne son 
sicuro, il GCC non ti so dire.

 }
grazie, questo ha risolto il problema, anche se in realtà la sintassi 
non mi è molto chiara :-(

Newsgroup: it.comp.lang.c++
Titolo: Stack e valore di ritorno di una funzione...

 }
Andrebbe usato cosě:
std::cout << "L'elemento estratto e': " << myStack.pop()  << std::endl;
In definitiva, le domande sono:
 (1) c'č un metodo migliore? (sicuramente; ma quale? :) )
 (2) la funzione "pop" ritorna una string creata localmente dalla
funzione: se invece che una string fosse stato un oggetto enorme, non ci
sarebbe stato altro modo, piuttosto che restituire per valore?
Grazie infinite,
GabRia

ovviamente, rimane invariato per tutto il programma.
[snip]
http://www.gotw.ca/gotw/008.htm
e successivi
sbirish.

 GabRia
Ciao

 costante alla testa dello stack.
("costante" nel senso che "costantemente si riferisce" o "const"? :) )
Allora, vediamo se ho capito:
	typedef std::string T;
	// ...
 	void Stack::pop () {
		if (testa == 0)	return;
		Nodo* tmp = testa;
    	testa = testa->next;
     	delete tmp;
	}
	T& takeone() { return testa->data; }
Il problema però rimane: se "testa" è un puntatore a NULL (ovvero lo
stack è vuoto), quando chiamo quest'ultima funzione, tenta di leggere
chissà dove (credo sia un undef. behav.). Potrei far restituire, al
posto di "T&", un "Nodo&", ma francamente non mi pare la soluzione
adatta (l'utente non deve conscere "Nodo", no?)... come si risolve?
Un'altra domandina, semplice: volendo creare il metodo "clear" per,
appunto, pulire lo stack, ho pensato che avrei dovuto fare ciò che fa il
distruttore, e allora l'ho definito come segue:
	void clear() {
		Stack::~Stack;
		testa = 0;
 	}
con:
	Stack::~Stack()
	{
		Nodo* tmp;
 
		while (testa != 0) {
			tmp = testa;
			testa = testa->next;
			delete tmp;
		}		
	}
è lecito fare ciò? Finora sembra funzionare... ^_^
Grazie comunque dell'aiuto!
Tra una settimana ho l'esame, grazie in anticipo per le risposte!
Saluti,
GabRia

 distruttore, e allora l'ho definito come segue:
Suggerisco di fare il contrario. Definisci un metodo clear() che faccia il
lavoro, e invoca clear() nel distruttore.
Max

 Tra una settimana ho l'esame, grazie in anticipo per le risposte!
Ciao e in bocca al lupo ;-)
Newsgroup: it.comp.lang.c++
Titolo: Bc++Builder4 conversione da int a ansistring?

Ho un valore int e lo devo visualizzare in una label tipo ansistring.
Come si fa?
Grazie a chiunque mi aiuti.

...


 la conversione e' automatica...
Sarebbe automatica se fosse sufficiente scrivere
Label->Caption = i;
(come in Visual Basic, Label = i) ma dato che vedi utilizzare una
funzione di conversione allora la stessa non è automatica.
EMG

...


Non mi presento più (sono il novellino...).
Comunque, questo comando funziona anche per i char?
Diego Pettenò

Newsgroup: it.comp.lang.c++
Titolo: wavelet 3d

altro quesitino (so che sto quasi spammando, ma se voglio imparare non c'č
altra maniera)
sapete darmi il link di una implementazione di wavelet 3d? ho provato a
cercare con google ma ho trovato solo WPs. grazie in anticipo a coloro che
risponderanno...
--
CAFxXcrossway -> 
www.cafxx.cjb.net

Ciao,
Questo newsgroup si occupa del linguaggio di programmazione C++. Per
questo non e' il posto piu' adatto per porre domande come la tua. Ti
invito a cercare un gruppo il cui argomento sia piu' rispondente alle
tue esigenze. Avrai maggior probabilita' di risolvere il tuo problema ed
eviterai perdite di tempo a chi consulta it.comp.lang.c++ .
Grazie,
Nicola Musatti

scusa cercavo una implementazione, solo per questo ho postato qui.
vabbò proverò su it.scienza.matematica...
ciao e scusa...
--
CAFxXcrossway -> 
www.cafxx.cjb.net
"Nicola Musatti" <Nicola....@ObjectWay.it> ha scritto nel messaggio
news:a327cf48.04031...@posting.google.com...


Newsgroup: it.comp.lang.c++
Titolo: Funzione fork() sotto Win

Ho letto da qualche parte un riferimento alla funzione fork() di
linux, e mi interesserebbe utilizzarla in un programma che sto facendo
sotto win. Ho cercato nella documentazione in linea di VC++ 4 ma non
ho trovato nulla... nessuno sa che header devo includere oppure se
esiste una funzione omonima anche sotto win?
Grazie


Non esiste sotto Windows una corrispondente della fork di Unix.
Nel caso potresti utilizzare i threads.
Ciao.

Newsgroup: it.comp.lang.c++
Titolo: Creare un help in visual C

Chi riesce a spiegarmi, possibilmente passo-passo, come integrare un
help in linea ad una applicazione SDI già esistente? Purtroppo tutta la
documentazione che sono riuscito a trovare si riferisce ad applicazioni
che nascono già predisposte, attraverso MFCAppWizard, ad gestire un
help.
Bye. Massimo.
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

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: Principiante: Come si usa sta funzione scanf()

Guardate questo frammento di codice e ditemi per cortesia perche non
funziona:
char hostbuf[100];
void main(void){
printf("Input Host name:");
	scanf("%s",&hostbuf);
  if(hostbuf=="quit")     // il problema e' questo anche se io scrivo 
		    // quit quando il programma mi da la richiesta 
		   //il programma non esegue il blocco if
		    //cioe' non termina come fare?????
   {
printf("\nApplication terminated by user\n" );
exit (0);
}
return 0;
}

 		    //cioe' non termina come fare?????
stai comparando due puntatori, per comparare le stringhe usa 
strcmp(hostbuf,"quit").
Giulio

funziona:
Questo non é un programma C++, anche se, per compatibilitá
con C, un compilatore C++ é tenuto a "mandarlo giú".  Se vuoi
programmare in C, scrivi su it.comp.c, dove ti informeranno che
"le stringhe" (del linguaggio C) si paragonano con strcmp, non
con ==, e che devi includere stdio.h e string.h.  In C++ invece:
#include <iostream>
#include <string>
using namespace std;
int main()
{ 
    string hostbuf;
    cout << "Input host name: ";
    cin>>hostbuf;
    if(hostbuf == "quit") {
        cout << "Terminated\n";
        return 0;
    }
    // qui il resto dell'elaborazione
    return 0;
}
Niente printf, scanf, strcmp, o array -- tutti retaggi C; *usa* lo
Standard C++ (naturalmente, con un compilatore adatto!) e
la tua vita sará molto, MOLTO piú semplice.
Alex


Grazie per la tua risposta, potresti per cortesia darmi maggiori
informazioni!!
La sintassi che io ho usato serve solo per confrontare due puntatori??
Newsgroup: it.comp.lang.c++
Titolo: Gestione dei thread


"Il pensiero puņ arrivare fin dove la vista puņ vedere."

 linguaggio C++ un po' come avviene in Java.
Per il momento no.
Il problema principale e' l'eccessiva differenza
fra i vari modelli di thread (POSIX, Win32, ...),
che impedisce di avere un'interfaccia unica che
sia efficiente su tutte le piattaforme.
	Mauro

Newsgroup: it.comp.lang.c++
Titolo: Telecomando per ocx !

Hello world !
non è il programma che sto facendo, ma un saluto ;-)
Vi faccio una domanda tosta :
Innanzitutto parliamo di Win32 con VC++6.
Posso da un precesso usare l'ocx di un altro processo ?
Mi spiego meglio (c'è provo), dovrei usare un controllo,ma non creandone una
nuova istanza nel mio processo, ma interagendo su uno già attivivo in un
altro processo; in altre parole uso l'ocx altrui , senza pagare l'affitto !!
Se po' ??
Molti carri armati in anticipo (Many thanks)

Lo sapevo ch'era tosta !

Newsgroup: it.comp.lang.c++
Titolo: Ho richiesto l'american express e mi è stata rifiutata..

Sono obbligati  a dirmi le motivazioni per cui me l'hanno rifiutata?
Io ho ricevuto una lettera generica dove viene detto che per garantire
un servizio.... verificano i clienti... e quindi io non ho superato il
test.  Dice che non č un giudizio di valore .. pero' č una lettera
standard... nella busta ho trovato anche una lettera intestata ad un
altra persona esattametne uguale..
Strano..ho avuto almeno una decina di carte di credito di tutti i
gestori nella mia vita...[attualmente ne ho 3 visa..]  ma comunque.. 
ho mandato un fax con richiesta di chiarimenti..ma per adesso tutto
tace... posso chiedere qualcosa di piů ...ed inoltre io per avere la
carta gli ho detto vita , morte  e miracoli....cosa fanno dei miei
dati?
Ciao
Ciao 
Claudio
-- 
^^^ From 1991 2:332/407.490 ^^^ (Claudio per gli amici)
Air conditioned environment - Do not open Windows. 
La vita ha uno scopo! 
http://makeashorterlink.com/?G114534A1

 
[...]
Hai sbagliato NG
-- 
Remove _NOTRASH to answer me!

Newsgroup: it.comp.lang.c++
Titolo: Template e file splitting.

Salve a tutti.
Ho cominciato da poco ad avvicinarmi al c++ (prima programmavo solo in 
c). Ho un problema con i template: definendo una classe Array<T> in 
array.h, implementata in array.cpp, usando il metodo ciao() istanziando 
la classe come <int*> in main.cpp il linker mi da errore "undefined 
reference to `Array<int*>::ciao()".
Non capisco dove sbaglio, implementando il metodo in main.cpp l'errore 
scompare... ho incluso array.hpp sia in main.cpp che in array.cpp.
sto programmando sotto linux, il makefile e':
main: main.o array.o
         $(CC) $^ -o $@
main.o: main.cpp array.hpp
         $(CC) $< -c
array.o: array.cpp array.hpp
         $(CC) $< -c
Ciao e grazie!

 scompare...
http://www.parashift.com/c++-faq-lite/containers-and-templates.html#faq-34.12
MM

 
Dankeshon! =))
Newsgroup: it.comp.lang.c++
Titolo: this e friend!! Ache servono?

Salve!
premetto subito che sono un  principiante che conosce poco di C e ancora
meno il C++ ma ho intenzione di studiarmelo, solo che per il momento non so
a che guida affidarmi. In molti mi hanno consigliato quella McGraw-Hill "C++
La guida completa"ma io ho già quella del "C Ansi C e C++" e non mi piace
perchè mette esempi pratici che però non si possono mettere in pratica
perchè vi sono funzioni non standard.
A questo punto ho detto "per il momento vado in un NewGroup e chiedo qualche
cosa li(sperando che qualcuno abbia la pazienza di spiegarmi anche le cose
piu stupide)" ed eccomi qui.
Nel  libro che ho, nel capitolo del C++ c'è scritto che sono state aggiunte
le keywords seguenti:
class               delete                 friend
inline               overload            operator
new                 public                 this
virtual
Nei codici sorgente che ho(gli esempi che ci sono nel Borland C++ 5.02)
trovo spesso friend e this.
Qualcuno mi può spiegare a che servono(nel libro non ne parla di this)?
Ringrazio anticipatamente e vi prego di rispondermi (a proposito che
significa OT?)

 significa OT?)
Out of Target, mi pare, in ogni caso vuol dire che stai parlando di qualcosa
che non c'entra col ng in cui hai postato.
--
Ertai, Wizard Adept
~-~-~-~-~-~-~-~-~-~-~-~-~-~-
|||  Out of my own, out to be free  |||
~-~-~-~-~-~-~-~-~-~-~-~-~-~-


OT significa OFF TOPIC

 all'oggetto stesso.
Sě. In pratica this č un parametro implicito di tipo T* (dove T č il nome
della classe) di ogni funzione membro non statica.
Molte volte serve per passare a qualche altra funzione un puntatore alla
classe di cui si sta scrivendo un membro.
--
Piergiorgio Pirro
piergior...@tin.it
http://web.tiscalinet.it/ppirro
ICQ# 60945968

 significa OT?)
Off-topic, fuori tema.
EMG

trovo spesso friend e this.
"friend" in inglese significa amico.
In C++ il significato e' analogo, nel senso che tutto cio' che in una
classe viene dichiarato friend ed e' esterno a quella classe, le
diventa amico, nel senso che puo' accedere ai suoi membri privati.
La parola chiave "this" sta per "questo" (nel senso di questa classe).
Il C++ nasconde questo puntatore alla classe ed ogni riferimento ad un
membro della classe e' ugualmente interpretabile come riferimento a un
membro della struttura dati puntata da "this".
--
Andrea Laforgia (
andrea_...@bigfoot.com
)
---------------------------------------------
#exclude <windows.h>
Newsgroup: it.comp.lang.c++
Titolo: c++ guida facile Paul snait

Ciao mando questo post per chiedere precisando che sono nuovo al c++se
qualcuno
sa dirmi dove trovare un compilatore c++ free adatto a segure gli esempi
riportati nel libro "c++ guida facile" di Paul Snaith edito da tecniche
nuove.
qualsiasi compilatore a da me provato su diversi esempi del libro mi da
degli errori alcuni gią in compilazione altri in fase di linkaggio.
Scusate se per voi č una noia ma io ci sto perdendo la testa.
Perfavore AIUTO!!!

 Perfavore AIUTO!!!
-Aggiungo quì l'esempio più semplice del libro:
-#include <iostream.h>
-main()
-{
-               cout  << "Ciao a tutti... questo è semplice";
-               return(0);
-}
-è questi sono i due arrori che mi da il compilatore free a linea di comando
della borland scaricato un paio di giorni fa:
-Error E2209:Unable to open include file 'iostream.h'
-Error E2451:Undefined symbol 'cout' in function main ()

 -Error E2451:Undefined symbol 'cout' in function main ()
come si chiama il tuo file? 
non mi stupirebbe se fosse nome.c
una guida + seria la trovi liberamente scaricabile (in inglese) sul 
sito 
www.bruceeckel.com
, ne stanno facendo un pdf in italiano.. con 
altavista dovresti trovarlo
si chiama "thinking in c++"

Newsgroup: it.comp.lang.c++
Titolo: Specifiche ANSI C++


+-----------------+
| Toro on the Net |
+ ^^^^^^^^^^^^^^^ +-----+
|   /===============\   | First website about
|-=> 
www.toroclub.it
 <=-| Torino Calcio
|   \===============/   | and its supporters !
+-----------------------+

...

Newsgroup: it.comp.lang.c++
Titolo: Array

Scusate,
ma date due variabili come:
int array[10];
int array1[20];
"array" e "array1" di che tipo sono?
Ciao.


Ovviamente sono due variabili di tipo diverso.
Il fatto che il tipo degli elementi contenuti nei due vettori coincida in
entrambe le dichiarazioni non indica nulla.
Nel tuo caso array è una variabile di tipo int[10], ovvero una variabile
strutturata di un tipo array formato da 10 elementi interi.
Diverso discorso è per array1, il cui tipo è int[20], ovvero una variabile
strutturata di tipo array formata da 20 elementi interi.
Ciao.

 Ovviamente sono due variabili di tipo diverso.
Perdonate l'ignoranza, ma non sono semplicemente due puntatori ad intero?
Zeppe

 ha scritto nel messaggio
news:imEq8.114018$1S3.3...@twister1.libero.it...

Sono due array di interi, cioé due insiemi di variabili
intere.
Saluti

 Perdonate l'ignoranza, ma non sono semplicemente >due puntatori ad intero?
Non vedo perché tu debba chiedere scusa.
Prendiamo le due dichiarazioni precedenti:
int array[10];
int array1[20];
queste istruzioni introducono due variabili, una di tipo int[10] e l'altra
di tipo int[20].
Queste dichiarazioni introducono invece:
int* array;
int* array1;
due variabili dello stesso tipo, ovvero int*.
Un fatto che accomuna tutte le variabili di tipo array è che il loro nome
decade, tranne in 3 casi che vedremo in seguito, ad un puntatore al loro
primo elemento.
Pertanto è possibile scrivere un codice simile a:
int array1[20];
int array2[10];
int* ptr = array1;
ptr = array2;
in questo esempio sia "array1" che "array2" decadono in un int* in quanto
entrambe si compongono di elementi interi.
Questo comportamento del nome di un vettore non si verifica in tre casi:
1) sizeof(array1)
2) &array1
3) con i literal string
La differenza tra "array1" e "array2" è evidente quando si scrivono codici
di questo tipo:
int array1[10];
int array2[20];
int(*ptr) [10] = &array1;
/* errore, ptr può contenere l'indirizzo di una qualsiasi variabile di tipo
int[10], ma non di tipo int[20] */
int(*ptr2)[10] = &array1;
/* corretto !!!!! */
Ciao.

 3) con i literal string
Capito, grazie!
Zeppe
Newsgroup: it.comp.lang.c++
Titolo: Costanti aggiunte dal compilatore sotto Linux, Dos, Windows ...

Ciao. Vi volevo chiedere se, nel fare programmi multi piattaforma, e
quindi organizzando il codice con delle direttive per il compilatore,
era possibile utilizzare delle costanti aggiunte automaitcamente dal
compilatore. Mi spiego meglio. Il compilatore setta delle direttive
oppure no? Se io compilo sotto linux, mi viene settata una direttiva
LINUX oppure _LINUX? E sotto DOS, una _DOS? Se sto dicendo una vaccata
ditemelo.

 ditemelo.
Temo che non esista uno standard e che questi simboli, pur se forse
definiti da ogni compilatore, siano fortemente specifici.
EMG



Infatti.  L'unica maniera di conoscere TUTTI i simboli predefiniti e'
quella di runnare strings sull'eseguibile del compilatore e di armarsi
di santa pazienza.  O, alternativamente, di leggersi il manuale del
compilatore stesso...
-- 
Maurizio Loreti                      
http://wwwcdf.pd.infn.it/~loreti/mlo.html
Un. of Padova, Dept. of Physics - Padova, Italy          
lor...@padova.infn.it
Newsgroup: it.comp.lang.c++
Titolo: Newbie question: Any good resources on C++ programming?

Hi everyone
I'm a newbie to the world of C++ programming.
I'm especially interested in C++ internet programming and
C++ database programming.
Can anyone recommend some good books or websites
about the topic?
Thanks in advance.
Best Regards,
Gary Hendricks
http://www.desktop-video-guide.com
Learn how to shoot, capture and edit your own digital videos!

 Thanks in advance.
try comp.lang.c++
it.comp.lang.c++ does not stand for Information Technology, but for Italy
!!!
If you want to post on this group, I am afraid, you'll have to do it in
Italian.
Tommy

Newsgroup: it.comp.lang.c++
Titolo: sulle stringhe

Salve, ho un problema riguardante questo IF
char* buf=buffer.c_str();
 if ((buf[0] == "+")&&(buf[1]=="O")&&(buf[2]=="K"))
mi dice  su buf[0],buf[1],buf[2]
cannot convert 'char' to 'char*' non riesco a capire!
uso il bcb 5.0

quanto sono cretino! lasciate perdere ho sbagliato gli apici!


perche non scriva
if ( buffer.compare( 0, 3, "+OK" ) == 0 )
G
Newsgroup: it.comp.lang.c++
Titolo: C++ Builder 3.0 Problema (da neofita)

Grazie in anticipo a tutti coloro che si annoieranno a rispondermi.
L' utilizzo della VCL c'entra ben poco con il linguaggio C++, percui
il newsgroup più adatto per postare questa domanda dovrebbe essere
it.comp.programmare.win32.
Ad ogni modo non devi mai eseguire un double-click casuale sui
componenti VCL,, ma devi selezionare sull' Object Inspector l'evento
con il quale vuoi lavorare, dopodiche devi scrivere il codice relativo
all'evento che hai selezionato.
Il Ghenio
-----
Jesse: Preparatevi a passare dei guai.
James: Dei guai molto grossi!!!
(Team Rocket)
-----

Ciao,
mi chiamo Matteo e, visto che non ho nulla da fare questa mattina, cercherò
di risponderti, anzi, cercherò di farmi capire anche se non é il mio
forte!!!
Dunque, si comincia: ogni componente di Builder (bottoni, CheckBox,
Label,etc) hanno delle proprietà, dei metodi e degli eventi). Per creare sti
eventi, Builder utilizza dei puntatori su delle funzioni. Dunque, per non
creare dei bordelli, é solo lui che si occupa della gestione degli eventi,
compreso il nome delle funzioni da chiamare quando un certo evento é
"azionato". Per questo motivo, quando tu clicchi sul bottone, Builder crea
già la funzione che andrà eseguita quando un utilizzatore premerà su questo
bottone. Se ciò non ti va bene, perché vuoi chiamare una funzione specilae
da te creata puoi sempre far così: nella funzione generata da lui, non fai
altro che chiamare la tua funzione.
Esempio:
// funzione chiamata quando si clicca sul Bottone 3
void __fastcall TForm1::BitBtn3Click(TObject *Sender)
 {
    // chiami la tua funzione
     MiaFunzione();
 }
// la tua funzione
 void __fastcall TForm1::MiaFunzione(void)
  {
    // esegui i tuoi algoritmi
    // ...
  }
Importante: nel *.h devi dichiarare la tua funzione
class TForm1 : public TForm
{
__published:
void __fastcall BitBtn3Click(TObject *Sender);
private: // User declarations
public:  // User declarations
// Qui dichiari la tua funzione
 __fastcall TForm1(TComponent* Owner);
        void __fastcall MiaFunzione(void);
};
Ecco, sepero di aver risposto alla tua domanda!!!
Adesso ti lascio, il lavoro mi aspetta.
Bye Bye
matteo
Newsgroup: it.comp.lang.c++
Titolo: Borland.public.cppbuilder

Salve,
qualcuno conosce un news server da dove scaricare i NG
Borland.public.cppbuilder.* ?
Attualmente li prelevo direttamente da 
forums.inprise.com
 ma il
giochino è un pò lento...
Saluti

Ciao,
    la cosa interessa anche a me perche' in effetti usare quello della
Borland non e' il massimo, se vieni a sapere qualcosa fammelo sapere, grazie
:-)
Marco Abis su IRCnet #C++Warriors
http://welcome.to/C++Warriors
  interamente dedicato al C++
ca...@technologist.com

Borland.public.cppbuilder.* ?
Mi dai l'indirizzo del server borland?
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 */
------------------------------------------------------------------

Paolo
Il news server č 
forums.inprise.com
 e ci puoi trovare tutti i newsgroup
relativi
ai prodotti Borland/Inprise.
Ho trovato molte cose interessanti e poi quelli del TeamB sono molto
disponibili per dare suggerimenti, informazioni, etc.
Saluti, Marcello.

Newsgroup: it.comp.lang.c++
Titolo: lib. editing video

Salve, esistono delle librerie o dei componenti per l'editing video? (in
ambiente win o linux)
Avrei bisogno di leggere due flussi video e di fonderli in un unico flusso
che visualizzi i due contemporaneamente, affiancati, per intenderci come se
aprissi due finestre di media player che stanno riproducendo due file
diversi e le affiancassi.
Ho visto roba simile sviluppata in flash, sapete se c'e' qualcosa anche per
c++?


Prova a vedere 
www.hicomponents.com
 il componente ImageEn per C++ Builder.
Ciao Enrico
-- 
La teoria e' quando si sa tutto e niente funziona.
La pratica e' quando tutto funziona e nessuno sa il perche'!
In questo caso abbiamo messo insieme la teoria e la pratica:
non c'e' niente che funziona e nessuno sa il perche'!
Albert Einstein

Gli ho dato un'occhiata ma sembra piu un controllo per la gestione di
singole immagini, come dovrei fare per gestire l'unione dei due flussi?
dovrei unire ogni singolo frame e poi ricostruire il flusso?
esiste una documentazione per il programma inquestione?
grazie in ogni caso per l'aiuto. :-)
Teresa


 grazie in ogni caso per l'aiuto. :-)
Di nulla a buon rendere ;)



Forse la domanda e' parzialmente offtopics, cmq rispondo ugualmente, se 
non ti servono cose ad altissimo livello ti consiglio una libreria per 
decodificare i flussi libavcodec, parte del progetto ffmpeg 
(
www.ffmpeg.org
) e SDL per visualizzare quello che decodifichi in 
un'unica finestra (utilizzando due overlay, o uno largo come i due flussi).
Certo non e' roba gia` fatta ma se sei pratica con il linguaggio in un 
paio di giorni metti insieme tutto ed ottieni qualcosa di valido anche 
dal punto di vista delle prestazioni.
Bye,
  Gabry
Newsgroup: it.comp.lang.c++
Titolo: Sovrappeso? Cellulite? Semplicemente una corretta alimentazione?

Che c###o ci azzeca 'sto messaggio qui?
AS

Beh se sei in sovrappeso o hai la cellulite puoi rimediare con una corretta
alimentazione! ;)
Ciao
Giuseppe Di Natale
gdin...@camomillaitalia.it
------------------------------------------
JS Labs - FAQ di it.comp.lang.javascript
http://jslabs.webhostme.com
FlyScript by JS Labs, JS in 3 click
http://jslabs.webhostme.com/servizi/flyscript/
------------------------------------------

Newsgroup: it.comp.lang.c++
Titolo: [HELP ] Domanda

Salve,
La seconda domanda č questa:
Avete presente quei programmi tipo "SONIQUE" il lettore mp3, oppure il nuovo
Go!Zilla?!?
Bene,come avete notato se utilizzate questi programmi, la loro interfaccia
non utilizza gli oggetti standard, ma č completamente grafica.
Quello che mi interessa piů di ogni altra cosa č il fatto che quando apro
SONIQUE, ad esempio, la sua forma non č rettangolare come tutte le normali
applicazioni Windows.
Vorrei sapere in che modo (se possibile) potrei realizzare una cosa del
genere con C++.
Vi sarei molto grato se mi informaste sull'esistenza di una liberia
specifica che mi
permette di ottenere questo effetto.
Grazie a tutti.
Emanuele C

genere con C++.
goto it.comp.programmare.win32;
-- 
 (o-  | Un OS per domarli, Un OS per trovarli,
 //\  | Un OS per ghermirli e nel buio incatenarli
 V_/_ | Nella terra di Redmond, ove l'ombra cupa scende...
http://pinguin.linuxave.net
            r punto salmaso at inwind punto it

goto it.comp.programmare.win32;
ORRORE! un goto!
molto meglio
throw bad_group();
Paolo

throw bad_group();
VC++6:error, throw keyword undefined. Check out a better compiler. Or
a better operating system.
\end[joke]{OT}


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

Se premo una volta un bottone, non funziona. Se lo premo la volta
successiva e tutte le altre successive, funziona... qualcuno sa dirmi
come mai?
Premendo su un bottone, richiamo il codice
{
int num_righe=StringGrid->RowCount;
StringGrid->RowCount=++num_righe;
StringGrid->Cells[0][num_righe]="hello";
}
In pratica dovrebbe aggiungere una riga alla tabella, e scriverci
"hello" nella colonna zero,
cioe' quella piu' a sinistra. Ma se premo una volta, viene aggiunta solo
una riga vuota, senza la scritta "hello". Le volte successive invece
funziona correttamente....
ciao a tutti,
Alberto

}
sbaglio o le righe vanno da 0 a RowCount -1 ?
quindi (ammesso sia cosi') dovrebbe essere :
int num_righe=StringGrid->RowCount;
StringGrid->RowCount=++num_righe;
StringGrid->Cells[0][num_righe-1]="hello";
ciao
    Mauro
Newsgroup: it.comp.lang.c++
Titolo: auto_ptr con array

Hello,
I think the auto_ptr<T> template class (STL) is a good way to obtain a
simple garbage-collection mechanism and semplify memory management, BUT: IT
NOT WORKS WITH ARRAY OBJECTS !!!
The denstructor of auto_ptr<> class always calls delete operator on object
instead of delete[] operator.
Thus I cannot use it with char* objects, for example.
How I can do this ? Why auto_ptr denstructor don't calls delete[] operator
always (it should works with simple object too) ?
Bye, Lvca.

 wrote in message
7sdc8g$o$1...@fe1.cs.interbusiness.it...

Hi,
if you use the string class insted of char* (obsolete) there are no
problem...
Otherwise you can to write a your class  auto_ptr....
Daniele.

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

Ora vi spiego il problema:
ho scritto un codice in VC++ 5.0 in cui ho volevo che durante un iterazione
del tipo "   for(... ){... };   " ogni volta venisse aggiornato un dato sul
monitor
(in una finestra-dialogo), ma sembra che sul monitor venga visualizzato
solamente l' ultimo risultato e non anche tutti i risultati intermedi (come
avrei voluto). Ho controllato tutto e non ci sono errori di programmazione o
logici. Come posso fare??? Forse vengono trovati troppi risultati in un
tempo troppo breve affinchè possano essere visualizzati ??? Come posso
ovviare a ciò ???
Grazie
                    Robert


Ciao,
probabilmente l'aggiornamento a video generera dei messaggi che non vengono
processati per il fatto che questo viene fatto all'interno di una
iterazione.
Prova ad inserire una chiamata ad una funzione come questa che inserisco di
seguito, dopo aver aggiornato i dati a video.
Questa svuota la coda dei messaggi e poi ritorna, naturalmente distribuisce
i messaggi trovati nella coda stessa.
void emptyQueue(void)
{
 MSG msg;
 while (PeekMessage(&msg, null, 0, 0, PM_REMOVE))
 {
  TranslateMessage(&msg);
  DispatchMessage(&msg);
 }
}
ciao, Franco.
Franco Torrini - Software Engineer - 
f.to...@virtuart.it
VIRTUART - C.C.D. Creative Computer Design S.p.A.
Via di Quarto Annunziata, 80/b - 00189 Rome, Italy
Tel. 
+39 06 33076638
 - Fax. 
+39 06 33076670

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

sapete dove posso trovare c++ freeware?
grazie.

 grazie.
Qui: 
http://www.gnu.org/software/gcc/gcc.html
Ciao,
Nicola

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

caio sono Giuseppe, volevo chiedervi , sto cerccando di imparare il c/c++,
volevo creare da me un programmino per il codice fiscale , ma mi trovo
bloccato forrei sapere da dove posso iniziare ...

il c/c++, volevo creare da me un programmino per il codice fiscale
Ti mando in e-mail l'algoritmo.
ciao

caio sono Giuseppe, volevo chiedervi , sto cerccando di imparare il c/c++,

Newsgroup: it.comp.lang.c++
Titolo: un po' OT: DCOM e CORBA

Non ho trovato un canale atto a postare questo messaggio, vogliate
scusarmi...
Per capire il funzionamento dei DCOM e CORBA, di cui conosco solo le
principali caratteristiche, e relativa programmazione, è necessario
conoscere benissimo il C++ o basta un'infarinatura?
Esistono dei buoni testi (anche in formato elettronico), possibilmente in
italiano, che mi possano iniziare alla programmazione per queste
architetture?
grazie
--
San Vegeta from Hell
http://www.geocities.com/Area51/Dungeon/8436
http://come.to/Fantasy.it

CORBA: devi conoscere abbastanza bene il C++(o al limite java).Libri in
italiano,non ne conosco.In inglese o ti compri uno dei libri di Orfali oppure
qualcosa in rete si trova.
DCOM:non serve una conoscenza approfondita di C++ soprattutto se utilizzi
ATL(ovviamente dipende dal livello delle applicazioni che sviluppi!).
Comunque con VB riesci a fare abbastanza ed è molto più semplice.
Libri:essenzial com, inside com, inside dcom.
Stefano.


Newsgroup: it.comp.lang.c++
Titolo: Richiesta aiuto opzione compilatore g++

Ciao, a tutti c'e' qualcuno che  sa se esiste una opzione del
compilatore
g++ in grado di generarmi tutti i tipi delle variabili del programma
che sto compilando?
Altrimenti se mi poteste segnalare dove andare a cercare.... oltre al
sito
della GNU, magari anche su qualche altro newsgroup piu' specifico!
Grazie..

della GNU, magari anche su qualche altro newsgroup piu' specifico!
it.comp.os.linux.development
-- 
Davide Cavallari
Newsgroup: it.comp.lang.c++
Titolo: problemi con istruzioni asm

sto' usando Borlad C++Builder 4.
ho cercato di compilare un programma che contiene istruzioni in
assembler , ma il compilatore mi dà il seguente errore :
"[C++ Warning] Project2.cpp(26): W8002 Restarting compile using
assembly."
Ho cercato nelle varie proprietà del compilatore  se c'è qualche
riferimento all'assembler , ma niente. Nell'help non mi viene dato
nessun aiuto .
AIUTATEMI !!!!
il listato è il seguente :
#include <stdio.h>
#include <conio.h>
void initgraph();
void closegraph();
main ( )
{
initgraph();
while (!kbhit()){}
closegraph();
return (0);
}
void initgraph( )
{
 asm{
     mov ax,13h
     int 10h
    }
 }
void closegraph( )
{
  asm{
      mov ax,3h
      int 10h
     }
}
Grazie ciao
                            Fil

 "[C++ Warning] Project2.cpp(26): W8002 Restarting compile using
assembly."
guarda che questo non è un errore, è solamente un warning del compilatore.
Se lo traduci, ti sta dicendo soltanto che ricomincia la compilazione
utilizzando l'assembly. Se però il compilatore non produce l'eseguibile
finale, prova a vedere se esiste un opzione del tipo
- treat warning as error
e se è spuntata.
-- 
Posted from [213.82.54.99] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 nessun aiuto .
in genere questo era un warning usato dal compilatore per dire che
avendo trovato selle istruzioni in assembler abilitava AUTOMATICAMENTE
la compilazione con un passo aggiuntivo: quello della generazion e del
sorgente assembler e della sua 'compilazione' tramite assemblatore.
controlla che venga generato effettivamente il file .obj corrispondente

sto' usando Borlad C++Builder 4.
Il Borland C++ 4 B. se in versione standard non supporta (CREDO)
l'assembler inline .

 > sto' usando Borlad C++Builder 4.

NO , mi crea solo un file .asm che non so cosa farmene ! di .obj non se ne
vedono

 assembly."
Questo non e' un errore! gli errori sono segnalati dopo (se ce ne sono).
Se non vuoi questo messaggio nel BC++3.1 devi scrivere come prima linea la
direttiva
#pragma inline
questo dice subito al compilatore che nel codice ci sono istruzioni
assembler, nel tuo caso invece il compilatore se ne accorge dopo aver gia'
compilato un pezzetto e quindi deve buttar via tutto e ricompilare generando
l'asm, tutto qui, non e' un errore!
ciao
donCiccio

 }
··· Vito Dantona  ···
http://www.vitus.cjb.net
vi...@milanmania.com
ICQ: 18231643
«If I can see further than others,
    it is by standing on the shoulders of giants» (I. Newton)

 ha scritto nel messaggio
news:ZC6R5.75222$BF.26...@news.infostrada.it...

Newsgroup: it.comp.lang.c++
Titolo: Numeri e lettere con STL

Ciao ALL!
Sto studiando le STL e in particolare vector e string.
Una cosa strana è che non riesco a fare cose banali, come:
trovare una funzione che ti metta una stringa in maiuscolo; 
trovare il modo di attaccare un numero a una stringa:
string s, q;
int n;
s = "numero";
q = s attaccaci n;    // :-)  ??
Ciao_______________
http://siena.linux.it
 -  S L U G  homepage
Leva "civetta" dal mio indirizzo.
http://dinogen.tripod.com
 - la mia homepage

 q = s attaccaci n;    // :-)  ??
MLO@mlinux 16 $ cat foo.cxx
#include <algorithm>
#include <iostream>
#include <sstream>
#include <string>
#include <cctype>
int main() {
  std::string s("numero");
  std::ostringstream os;
  std::transform(s.begin(), s.end(), s.begin(), toupper);
  os << 42;
  s = s + ", attaccaci " + os.str();
  std::cout << s << std::endl;
}
MLO@mlinux 17 $ g++ -ansi -Wall -o foo foo.cxx && ./foo
NUMERO, attaccaci 42
MLO@mlinux 18 $
-- 
Maurizio Loreti                         
http://www.pd.infn.it/~loreti/mlo.html
Univ. of Padova, Dept. of Physics - Padova, Italy            
lor...@pd.infn.it
The instructions said to use Windows 98 or better - so I installed FreeBSD.

#include <sstream>
il gcc mi dice che manca sstream.
in che pacchettto sta, scusa?


 #include <sstream>
Visto che sei molto ben informato, sai quando verranno implementati (o 
per quando sono previsti) gli stringstream nella libstdc++?

 per quando sono previsti) gli stringstream nella libstdc++?
ci sono gia`
l'header e` <strstream>
ciao
Kronos
-- 
Home: 
http://kronoz.cjb.net
Il dottore mi ha detto di smettere di fare cene intime per quattro.
A meno che non ci siamo altre tre persone.

 l'header e` <strstream>
No, quello č l'header delle classi strstream, il cui uso č deprecato.
L'header delle classi stringstream č <sstream>, che č disponibile soltanto
con le versioni piů recenti della libstdc++. 
Per maggiori dettagli: 
http://sourceware.cygnus.com/libstdc++/
Max

 l'header e` <strstream>
No, è <sstream>. L'header <strstream> è invece obsoleto.
EMG

l'header e` <strstream>
No. Quello è l'header dei vecchi strstream, ovvero: istrstream, ostrstream, e
strstream. In particolare, non sono ridimensionabili come gli stringstream.
Sapessi che tristezza quando, per mancanza degli std::stringstream, ho dovuto
appoggiarmi su quelli vecchi (per fortuna si utilizzano praticamente allo
stesso modo, quindi le modifiche da fare per portare il programma a
norma di standard sono davvero poche)
Ciao
Domenico Barra
Newsgroup: it.comp.lang.c++
Titolo: GRAZIE MILLE!

Carissimi, salve!!!
State a sentire: avevo in mente di realizzare alcuni programmi di grafica in
c++, ma mi è sorto un problema che non so come risolvere!
VI PREGO!!! :-)
Come si fa a utilizzare una risoluzione grafica a 256 colori?
Alcuni mi hanno detto che serve l'Assembler! Voi che dite?
GRAZIE MILLE (C, Copyright MAX PEZZALI- 883) ;-)

 Alcuni mi hanno detto che serve l'Assembler! Voi che dite?
Io dico che dipende rigorosamente soltanto dalla piattaforma
che intendi usare.  Ti consiglio dunque caldamente di porre
questa domanda nei gruppi di discussione relativi a questa
piattaforma, per esempio, it.comp.linux se e` Linux, oppure
it.comp.programmare.win32 se e` Windows a 32 bit, ecc ecc.
Discuterne in questo gruppo non avrebbe senso.
Alex
Newsgroup: it.comp.lang.c++
Titolo: Implementazione di operator== per le classi.

Salve.
Ho delle classi abbastanza semplici dotate di alcuni membri espressi
come istanze (non come riferimenti o puntatori).
Voglio considerare uguali due istanze di una stessa classe quando i
membri (privati, protetti o pubblici che siano) corrispondenti hanno lo
stesso valore.
In questa ipotesi (abbastanza restrittiva) è corretto implementare
l'operator==
con un brutale confronto delle rispettive locazioni di memoria? Del
tipo:
bool TObject::operator==(const TObject& Obj) const {
  return (memcmp(this, &Obj, sizeof(Obj)) == 0);
};
Grazie,
Marcello.

 writes:

Secondo me no.  Oggetti e strutture, anche composti solo da PODs,
possono avere dei buchi (padding) se il compilatore decide di
allineare opportunamente l'inizio dei componenti della struttura per
il massimo di velocita' di accesso (questo e' esplicitamente
permesso).  Ed i bytes di padding non e' detto che siano inizializzati
allo stesso valore (anche se la maggior parte dei compilatori li
azzera).
-- 
Maurizio Loreti                         
http://www.pd.infn.it/~loreti/mlo.html
Univ. of Padova, Dept. of Physics - Padova, Italy            
lor...@pd.infn.it

 azzera).
Bene. Si rende necessaria quindi un singolo confronto per ognuno dei
campi appartenenti alla classe, giusto?
Il problema è che dimentico puntualmente di aggiornare i metodi come il
copy ctor e l'operator== nell'enfasi dell'aggiunta di un bel membro
nuovo. :)
In ogni caso, questa regola dell'alignment vale anche per le struct?
Devo confrontare due indirizzi internet (di tipo in_addr). Per motivi
storici questa è una struct, pur essendo dotata di un unico membro. In
generale, comunque, come è possibile confrontare due struct qualsiasi,
magari anche ipotizzando che siano struct il cui contenuto debba restare
trasparente all'utente?
Grazie,
Marcello.

 storici questa è una struct, pur essendo dotata di un unico membro.
Lo standard garantisce che un puntatore a struttura coincide col
puntatore al primo campo (ovvero non c'e' padding iniziale).


tipo:
Non penso... a parte i problemi cui accenna Maurizio Loreti,
se i data member della tua classe sono istanze di tipi primitivi, non ci
sarebbero problemi, ma se a loro volta sono istanze di altre classi,
potrebbero nascondere l'uso di puntatori... Ad esempio considera i
contenitori standard...
Meglio utilizzare l'idioma dei linguaggi a oggetti, iterare il
procedimento alle componenti.
Paolo
--------------------------------------------------
  Paolo Marotta
  Computer Science, University of Pisa
  home:   
http://www.cli.di.unipi.it/~marotta
--------------------------------------------------