mii-community/UsenetArchiveIT-conversations huggingface dataset:
Newsgroup: it.comp.lang.c++
Titolo: Il linguaggio C++ puo creare database ?

Buongiorno a tutti, volevo solo sapere se C++ è in grado di creare database
a partire da zero, o si deve appoggiare ad un database esistente, vi prego
rispondetemi per me è molto importante.GRAZIE
ANDREA

 wrote:

Se per "creare" intendi "utilizzare", sicuramente si', ma poggiandosi,
come fanno gli altri linguaggi, a motori database "esterni" al
linguaggio (DB2/Oracle/Interbase/MySQL/SQLServer/Paradox/Access/...)
mediante diversi tipi di interfacciamento (ODBC/BDE/ADO...).
Se intendi "creare" nel senso di "gestire le basi dati" alla stregua
dei DBMS, ti dico solo che i maggiori RDBMS (DB2/Oracle/Interbase/...)
sono scritti interamente in C e C++.

 esistente, vi prego rispondetemi per me è molto importante.
mi sembra ci sia uno standard per db ad oggetti, ma non ne ricordo il 
nome. 
si basa su template e ereditarieta', e non e' M$ ;) pero' e' a 
pagamento. mi pare pero' che ve ne sia una demo free.
scusa la genericita'


In generale, ogni linguaggio (magari opportunamente integrato con le
adatte librerie) è in grado di creare database. In C++ standard, a parte
i file sequenziali, non c'è niente di precotto.
EMG

 wrote:

Per fare questo ci vogliono le opportune librerie. Il C++ é per natura
un linguaggio di basso livello che non offre alcun supporto per i
database, cosi' come non lo offre per la grafica, il sonoro ,
ecc...ecc..
Non dimentichiamoci comunque che per manipolare dei dati anche
complessi i database non sono affatto necessari e che spesso e
volentieri il loro supporto non fa altro che appesantire e rendere
instabile i programmi.
Un bravo programmatore dev'essere perfettamente capace di scriversi
delle proprie classi per gestire i dati senza ricorrere a nessun tipo
di database.
Il Ghenio
WINWORD.EXE - ERRORE DI APPLICAZIONE
l'istruzione a "0x3017ff27"ha fatto riferimento alla
memoria a "0x02a3143c".La memoria non poteva essere 'read'.

 ha scritto nel messaggio
news:8rckftsiiibc9v8mc...@4ax.com...


di database.
Sei sicuro di essere cosciente quando scrivi queste cose ?
--
Walkie...@Libero.It (ICQ# 8143647)

Sei sicuro di essere cosciente quando scrivi queste cose ?
Invece di fare queste battutine dovresti spiegare cosa c'era di
sbagliato nel mio discorso, altrimenti rischi di fare la figura del
flamer.


flamer.
La mia non era una battutina, era una domanda seria.
Il tuo discorso e' sbagliato perche', nella realta' dei fatti, non e'
corretto concentrarsi sulla scrittura di proprie classi per l'accesso
ai dati, visto che esistono gia' sistemi collaudati e ben funzionanti,
studiati per questo scopo. 
--
Walkie...@Libero.It (ICQ# 8143647)
Newsgroup: it.comp.lang.c++
Titolo: [FI] - Informatica - RICERCA PROGRAMMATORI

Azienda di informatica ricerca urgentemente per la sede di Firenze dei
programmatori esperti per assunzione a tempo indeterminato con le seguenti
conoscenze :
Ling. : PL-SQL, Developper 2000, Forms
Sistema Op. : Unix, Win NT
Data Base : Oracle
Inviare proprio curriculum a 
pers...@opendata.it
Resp. Rag. Agostino Oliveri
OPENDATA Soluzioni Informatiche S.r.l.
Via del Pignone, 7/r
50142 Firenze Fi
Tel. 
+39 0557130089
Fax. 
+39 055702982
http://www.opendata.it

 Ling. : PL-SQL, Developper 2000, Forms
                         ^
                         Suggerisco anche un esperto di ortografia
-- 
Maurizio Loreti                         
http://www.pd.infn.it/~loreti/mlo.html
Univ. of Padova, Dept. of Physics - Padova, Italy            
lor...@pd.infn.it

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

Voglio distruggere esplicitamente l'istanza di una classe. Posso usare
il distruttore esplicitamente? Come? Ho provato ma non funziona. Un
membro della mia classe e' un oggetto di tipo 'vector' della stl che
cresce dinamicamente. Puo' essere che il distruttore std non riesce a
distruggere questo oggetto? Come posso implementare un distruttore che
richiami il distruttorre del vector?
Ciao e grazie.

 richiami il distruttorre del vector?
Raccomando di distruggere gli eventuali oggetti istanziati dinamicamente e 
contenuti nel vettore (quelli si, rimangono appesi...). 

 contenuti nel vettore (quelli si, rimangono appesi...). 
assolutamente no, il distruttore di un std::vector<> viene richiamato!!
E gli oggetti vengono rilasciati.
L'unico problema sarebbe se si fosse istanziato un vector di puntatori a 
oggetto. In questo caso si rende necessario distruggere esplicitamente 
gli elementi indicati dai puntatori contenuti nel vector, ma non certo i 
puntatori stessi.

 vector, ma non certo i puntatori stessi.
Scusa, che dicevo io?

 
oh sooooooooooooooooorry
mi ha tratto in inganno quello che diceva "Gatto", che forse aveva paura 
di dover necessariamente eliminare qualunque tipo di oggetto contenuto 
in un vector, anche se non fosse stato un vector di puntatori.


Se vuoi controllare esplicitamente la "vita" di un'istanza allocala
dinamicamente.
Ciao,
Nicola
Newsgroup: it.comp.lang.c++
Titolo: Come mai non va bene?

header".  Ci sono ottime ragioni.
Qualche news fa mi Alex Martelli mi ha risposto questa cosa in proposito di
alcuni #include di files .cpp.
Vorrei avere qualche delucidazione in più. COME MAI NON POSSO USARE QUESTA
SINTASSI ?
Grazie ancora a tutti voi

 Grazie ancora a tutti voi
La direttiva #include permette di includere _qualsiasi_ file il cui nome appare di seguito.
Il comando (detta alla grossa ;) ) non fa altro che prendere il contenuto del file specificato e renderlo "locale" al file che stai
compilando, come se fosse scritto in quel punto.
(tipo un copia e incolla)
Visto che puoi chiamare il file come ti pare ... perchč utilizzare l'estensione ".cpp" ?
Puoi chiamarlo "file.bello", funziona lo stesso !
E` una convenzione (supportata da tutti). Una regola comunemente accettata.
Includere del "codice" invece che compilarlo separatamente non č sbagliato dal punto di vista della sintassi, č sbagliato dal punto
di vista progettuale.
Non ha alcun vantaggio, puň solo provocare errori e fraintenimenti.
Per darti un'idea di quanto sia radicata questa regola basta che guardi gli esempi nei libri C e C++.
Scommetto che non troverai _mai_ una inclusione di quel tipo se non come esempio di cosa _non_ si deve fare.
TaZ++

Non ha alcun vantaggio, può solo provocare errori e fraintenimenti.
Che tipo di errori? Di compilazione, di linker ?
Grazie ancora
Sebaz

Che tipo di errori? Di compilazione, di linker ?
Essenzialmente di compilazione.
Non ti si possono elencare gli errori.
A combinarle grosse ci pensa gia' la fantasia del programmatore :)
--
Andrea Laforgia (
andrea_...@bigfoot.com
)
---------------------------------------------
#exclude <windows.h>

SINTASSI ?
Non e' un problema di sintassi.
E' un problema di organizzazione dei moduli del tuo programma.
Il principio da tener presente e' che tutto cio' che "fa qualcosa" va
tenuto nei sorgenti .cpp. Tutto cio' che "annuncia" qualcosa (vedi
dichiarazioni, prototipi, #definizioni, ecc...) va messo nei file di
include .h. Includere un file .cpp in un altro file .cpp non
costituisce un errore sintattico (come potrebbe ? semmai semantico, ma
nemmeno), tuttavia il compilatore non ha bisogno che due moduli
sorgenti si vedano in questo modo.
E' solo una questione di riorganizzazione del tuo codice.


Newsgroup: it.comp.lang.c++
Titolo: hello world in finestra

mi direste come fare un semplice hello world in una finestra?
     . . . . o o o o o           ___________________________________
            _____      o        |                                   |
   ____====  ]OO|_n_n__][.      | 
http://utenti.lycos.it/magicforum
 |
  [________]_|__|________)<     |___________________________________|
   oo    oo  'oo OOOO-| oo\\_                  ~~~|~~~
+--+--+--+--+--+--+--+--+-$1-+--+--+--+--+--+--+--+--+--+--+--+--+--+

 mi direste come fare un semplice hello world in una finestra?
Il C++ non sa che cosa sia una 'finestra', per cui ti consiglio di
chiedere su un NG più indicato, tipo (a seconda della piattaforma):
it.comp.programmare.win32
it.comp.os.linux.development
o simili
buon proseguimento
-- 
Gerolamo
Newsgroup: it.comp.lang.c++
Titolo: streaming video

salve a tutti,
sto sviluppando una applicazione che grabba da un flusso video di una
telecamera delle immagini tramite opencv e le elabora.
Ora vorrei che questa immagine possa essere pubblicata su web in modo
che un qualunque browser client possa visualizzarla.
Esistono delle API che permettono di fare ciò?
Aveta consigli?
grazie
saluti

 
salvare l'immagine in png
http://www.libpng.org/pub/png/libpng.html
-- 
Andrea Corradi | Debian User | 
www.debian.org
Fingerprint: A41E F6B0 DBDB F04C 4940 E411 30F3 CD62 57B1 8458
gpg --keyserver 
keyserver.linux.it
 --recv-key 57B18458
Please avoid sending me Word or PowerPoint attachments.
http://www.gnu.org/philosophy/no-word-attachments.html

  Aveta consigli?
C'e' in OpenCV una parte di supporto per i flussi video, "CvCam",
che pero' non e' piu' sviluppato.
Di alternative alternative portabili ed efficienti non ne ho
trovatauna, se devi fare qualcosa monopiattaforma puoi guardare:
Win32:
DirectShow
Vfw (per fare dei test e' piu' semplice di DirectShow)
DSVL (wrapper carino, credo faccia parte di ARToolkit)
Linux:
Video4Linux (non l'ho mai usato)
--
Marco
 
-- 
I'm trying a new usenet client for Mac, Nemo OS X.
You can download it at 
http://www.malcom-mac.com/nemo

  Video4Linux (non l'ho mai usato)
Scusate la risposta inutile. Devo smetterla di scrivere mail prima
del caffe' =)

Newsgroup: it.comp.lang.c++
Titolo: C++ : allocazione di OBJs nell'area Heap e Stack

Osservando il codice di alcune applicazioni in ambiente DOS,
create utilizzando le librerie Turbo Vision per C++ della Borland,
mi č sorto un dubbio sull'allocazione dinamica della memoria.
In una precedente mia e-mail, chiedevo chi si dovesse occupare
della distruzione di OBJs allocati dinamicamente e passati come
argomenti ad un metodo f(). Mi č stato risposto che č compito
di chi effettivamente alloca l'oggetto.
In particolare  se ho una funzione del tipo:
int func(Obj* oggetto);
e nel mio codice volessi passargli un oggetto creato
dinamicamente in questo modo :
void main(void) {
  . . .
  risposta=func( new Obj() );
  . . .
  return;
}
Deduco da quanto spiegatomi che sono io che devo
richiamare l'istruzione " delete " e quindi modificare il codice
di conseguenza:
void main(void) {
  . . .
  Obj *MyPtr= new Obj()
  risposta=func(MyPtr);
  if(MyPtr) delete MyPtr;
  . . .
  return;
}
Perň, osservando il codice di alcune applicazioni, mi sono
accorto che vengono direttamente allocati oggetti all'interno
della lista degli argomenti della/e funzione/i in modo analogo
al primo codice presentato.
Mi chiedo allora come queste librerie possano gestire correttamente
la distruzione degli Objs passategli in tal modo.C'č forse un modo per
distinguere (magari dal puntatore) se un oggetto č sull' Heap o sullo
Stack ?
Ringrazio anticipatamente chiunque abbia un suggerimento da
darmi .
                                                        Ciao
                                                    Lorenzo Girardin

Stack ?
Il nuovo oggetto creato si trova comunque sullo heap. Nello stack ci va
a finire il puntatore, quindi la funzione può benissimo fare delete su
quel puntatore.
--
A purple cow is a confirming instance of the hypothesis that all crows are 
black. -Hempel's Paradox 
-- 
email: 
en...@bitsmart.com
Newsgroup: it.comp.lang.c++
Titolo: compilatori

Ciao a tutti.
Volendo imparare a programmare in c++ usando uno strumento
al passo coi tempi, e sapendo di dover sfogliare comunque pagine e pagine di
"libroni" sono indeciso tra il Builder c++ della borland e il
visual c++ della Microsoft.
Anche se ho letto qualcosa qua e la'
a riguardo volevo sapere quali sono le differenze tra i due, al
di la' dell'antipatia che molti hanno verso i prodotti Microsoft
(antipatia che tra l'altro condivido...)
e quale dei due e' il "migliore" secondo voi, pur sapendo che magari e'
anche
una questione di gusti personali.
Infine, e' vero che il visual c++ e' un compilatore per cosi' dire
"tradizionale" mentre il Builder consente
una creazione dei progetti 'diversa' e maggiormente automatizzata,
nascondendo pero' di fatto molte cose al programmatore?
Spero di essere stato chiaro e conciso...
Grazie anticipatamente a chi mi rispondera'
Valerio

 ha scritto nel messaggio
news:8lkrns$p3m$1...@pluto.sm.dsi.unimi.it...

Ciao,
non conosco il builder della borland però conosco abbastanza il VC6 e il
g++. Parlandone solo come compilatore di c++ standard (no MFC) posso dire in
base alla mia esperienza personale che in generale il VC6 è un compilatore
molto veloce mentre il g++ produce codice + efficiente. Il VC6 ha dalla sua
parte un bell'ambiente di sviluppo integrato, mentre i lati negativi sono il
costo e alcuni problemi col debugger a capire cosa c'è in un container
standard (vector, list ...). Il g++ ha dalla sua il fatto che è gratis e
produce ottimo codice; normalmente sarebbe a linea di comando ma ultimamente
sono usciti vari ambienti di sviluppo free (
http://objectcentral.com
,
http://www.bloodshed.net/
). Il debugger inoltre capisce i container
standard.
Ciao,
Raffaele
Newsgroup: it.comp.lang.c++
Titolo: file

č possibbile leggera i nome dei file che si trovano in una cartella e porli
in un array,lista, o file che sia?
grazie

mavi82 wrote:

Recentemente ho avuto un problema simile per un programma da presentare
per l'esame.
Semplicemente volevo che mi stampasse su schermo il file presenti nella
dir di lavoro.
Non sapendo dove sbatere la testa , ho chiesto consiglio ai futuri
mebri del Lug di Parma e uno di loro mi ha postato quanto segue.
////////////////////////////////////////////////////////
Riferimenti: info libc, sezione File System Interface/Accessing Directories
Li c'e' tutta la spiegazione, in sostanza:
incluso dirent.h, opendir(3) ti apre la directory, readdir(3) legge il
contenuto, closedir(3) per finire. Ricopio l'esempio se ti sa briga
guardare l'infofile:
#include <stddef.h>
#include <stdio.h>
#include <sys/types.h>
#include <dirent.h>
int
main()
{
   int count=0;
   DIR *dp;                  /* Questo e' l'handle della directory */
   struct dirent *ep         /* Questa e' la voce di directory */
   dp = opendir("./")            /* Apre la current dir */
   if (dp != NULL)
   {
	while (ep = readdir(dp))      /* Legge il successivo, poi...*/
	{
		string file(ep->d_name);      /*stringa file che contie 							il nome del file*/
		int pos=file.find(".rrr");
		if(pos==string::npos){ }
		else
		{
			cout<<file<<"\n";
			count++;
		}
	}
   if (count==0)
   {
	  cout<<"Non vi sono file presenti\n\n";
	  closedir(dp);
	  return 1;
   }
   else
   {
	  cout<<"I file ci sono\n";
   }
 
closedir(dp);             /* Finito con la dir. IMPORTANTE */
   }
   else  perror("Errore in open");
   return 0;
}
////////////////////////////////////////////////////////////////
Come forse avrai capito si tratta di codice per Unix/Linux , non sň come
   si comporti compilato in Win.
Nel caso che le librerie siano le stesse (dubito fortemente)  e che cmq.
il codice funzioni, com'č riportato quě sopra stampa a schermo l'elenco
dei file presenti nella dir di lavoro, quella dove compili il programma
e lanci l'eseguibile.
Per scegliere la dir da aprire penso che si possa fare semplicemente
mandando a:
dp = opendir("./"); /* Apre la current dir */
una stringa che contiene il percoso voluto.
es.  string percorso_dir ("/home/utente/programmi");
      dp = opendir(percorso_dir); /*Apre la dir programmi in home/utente*/
Con la stringa file puoi fare quello che ti pare , madarla in un altro 
file , stamparla , inserira in un alista etc...
Nell'frammento di codice, ho modificato alcune cose, per stampare solo i 
file con estensione .rrr e un contatore per verificare che vi siano file
con tale estensione e stampare un mess. in caso contrario.
Di piů non ti sň dire, e spero che vada anche in windows, nel caso che 
tu usi il SO di Bill.
Ciao



Dipende dal sistema operativo su cui deve girare il tuo programma.
In Unix/Linux, puoi usare 'opendir' per aprire una directory e 
'readdir' per scandirne il contenuto, leggendo una entry dopo 
l'altra.
In Win32, nun so.

 In Win32, nun so.
Se ti serve un esempio per Win32 te lo posso mandare in pvt (anche perchè
qui temo che siamo un po' ot)...
Newsgroup: it.comp.lang.c++
Titolo: Passaggio di puntatori a struct ad una funzione

Spero qualcuno mi sappia dare una mano: quando passo un puntatore a
struttura ad una funzione, viene passata una copia della struttura ho solo
l'indirizzo di memoria ?
Ecco il mio problema:
LISTA CONCATENATA
#include......
struct telem {
 int dato;
 telem *punt;
}
void visualizza(telem *p);
int main()
{ telem *p1, *p2, *p3;
  int conta=0;
   .......
p1 = NULL; // metto a null il primo elemento della lista
for (; conta<10; conta++) // genero la lista concatenata
 { p2 = new telem;
   p2->dato = conta;
  p2->punt = p1;
  p1 = p2; // alla fine p1 si trova in fondo alla lista
}
visualizza(p1); // Qua p1 ha un certo indirizzo e mi aspetto che al ritorno
della funzione abbia un indirizzo diverso con p1 quindi all'inizio della
lista,
                       // invece ha sempre lo stesso, come mai ? Viene
passata una copia della struct alla funzione ?
.........
.........
} // fine main
void visualizza(telem *p) //
{ while(p != NULL)
   { cout << p->dato << ' ';
      p = p->punt; // questa riga, non dovrebbe cambiare l'indirizzo di p
anche nel main ?
   }
}
Nel debugger, vedo che, al ritorno della funzione, l'indirizzo di p1 è
sempre lo stesso, anche se nella funzione
visualizza, cambia ( p = p->punt;  ).
Io credevo che le operazioni sui puntatori modificassero anche i dati
originali.
Qualcuno può spiegarmi cosa succede ?
Grazie 1000 a chiunque voglia rispondermi
Simone

 anche nel main ?
no perché l'indirizzo viene passato per valore e quindi copiato nella
variabile locale p
quindi quando fai p=p->punt; viene modificata la copia
Pela

                 //  passata una copia della struct alla funzione ?
p1 viene passato per *copia*: quindi la funzione operera` su una copia
della variabile e nessuna modifica si riflettera` sul valore di p1.
(Attento: stiamo parlando della copia del puntatore, non della copia di
cio` a cui esso punta.)
Se vuoi che la funziona possa modificare il valore della variabile dovrai
passarla per reference. In C avresti usato un telem**, in C++ userai un
reference a un puntatore:
   void visualizza(telem *& p)  { //...
Max

    void visualizza(telem *& p)  { //...
In questo modo con  p = p->punt nella funzione, modifico la  locazione di
memoria
anche nel main. Giusto ?
Simone
Newsgroup: it.comp.lang.c++
Titolo: Strano (per me) statement throw

Ciao,
dando un'occhiata a uno skeleton CORBA per la prima volta ho visto un
uso di throw() che non conoscevo. Grazie a chi me lo spiega brevemente.
virtual void mioMetodo(...) throw(CORBA::SystemException) = 0;
E' un po' come se sollevasse un'eccezione sulla fiducia... :-)
Ciao, Giulio
Sent via Deja.com 
http://www.deja.com/
Before you buy.

 virtual void mioMetodo(...) throw(CORBA::SystemException) = 0;
Si tratta di un metodo virtuale puro; in pratica qualcosa che
deve essere obbligatoriamente implementato in una classe derivata.
La dichiarazione throw indica che le uniche exception che e' ammesso
sollevare nel metodo sono quelle derivate da CORBA::SystemException.
Una implementazione che generi exception di tipo diverso infatti
violerebbe il principio di sostituibilita' della classe base con
la classe derivata.
Un override di un metodo per poter essere ammissibile non deve
richiedere di piu' o promettere di meno. La dicitura throw(...)
promette che se vengono generate exception allora sono di quel tipo
quindi la stessa promessa deve essere mantenuta dalle implementazioni
delle classi concrete derivate.
Ovviamente nella derivata e' ammesso anche promettere di piu'... con
ad esempio una dichiarazione come
   virtual void mioMetodo(...) throw();
che promette di non generare nessuna exception oppure con
   virtual void mioMetodo(...) throw(CORBA::XYZ);
quando CORBA::XYZ e' una exception derivata da CORBA::SystemException
Spero di non aver aumentato i dubbi sulla cosa :)
Andrea
--
----------------------------------------------------------------
 <\___/>  Andrea        email: agriff at tin dot it
 / . . \  "6502"          irc: _6502_@EFNET#italia
(  (")  ) Griffini   homepage: 
http://www.netservers.com/~agriff


Newsgroup: it.comp.lang.c++
Titolo: Team di GAME DEVELOPING in erba cerca programmatore

Cerchiamo disperatamente persone interessate a formare un team per lo
sviluppo di videogames.
possibilmente dovrebbero essere della zona di Bologna , Verona o Firenze.
Sono necessarie la conoscenza del C ed un minimo di conoscenza dell'
ambiente "videogames"
Rispondete via @-MAIL e non sul newsgroup
Salutoni Marco



Be , io conosco meglio il c++ , e non sono esperto , ma imparo subito
quando una cosa mi interessa. Di sicuro conosco abbastanza l'ambiente
dei 'videogames' .... come giocatore.
Cosa dovrei fare ?

 wrote in message
daDx4.13757$i%1.16...@news.infostrada.it...


Newsgroup: it.comp.lang.c++
Titolo: Prelevare indirizzi E-mail

Cerco programma o procedura che permettere di prelevare da una
qualsiasi pagina HTML, o file di testo, gli indirizzi E-mail e
raggruparli in un unico file.
Si prega di indirizzare le risposta a:
alu...@freemail.it


Ma non ti aveva gia' risposto Giocondo ???
--
Automatic posted from 
dns.lanet.it
 [194.91.50.1]
via Mailgate Server - 
http://www.mailgate.org
Newsgroup: it.comp.lang.c++
Titolo: extern variable

ho un sorgente C++ che fa' riferimento a delle varibili dichiarate come
extern
in un' file d'include , sto utlizzando il VC++ 6.0  la fase di compilazione
avviene in modo corretto ma la fase di link riporta diversi errori perche'
non
accetta / riconosce le varibili dichiarate extern .
Da che cosa puo' dipendere ?
forse in C++ non e' consentito l'uso di variabli di tipo extern ???
Ciao a tutti :-)


No, l'uso è consentito (anche se sconsigliato sia in C che in C++).
Forse le variabili sono dichiarate ma non definite da nessuna parte.
Controlla...
EMG

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

Ho due domande sulla funzione inet_ntoa:
1-Quello che mi ritorna è l'indirizzo IP?
2- Ho provato ha scriver printf("%s\n", inet_ntoa(client.sin_addr);  e mi
stampa 127.0.0.1, forse c'era uno 0 in più, non mi ricordo, poi ho volevo
scrivere questo valore in un file e ho scritto write(fd,
inet_ntoa(client.sin_addr), sizeof(inet_ntoa(client.sin_addr))); ma nel file
mi scrive solo 127.
Perchè? come devo fare se voglio scriverlo tutto?
Grazie e mille a chi mi ridponderà
Ciao

 ha scritto
<cut it all \>
sei OT.
Prova a postare sul group appropriato
- Gio
Newsgroup: it.comp.lang.c++
Titolo: modo pulito in plain C++ (non l'ultimo standard) di creare restrizioni di tipo agli argomenti templatici di tipo "class" o typename

 
sto per il momento patchando in modo inelegante con macro
e token pasting ##, ci sarebbe un metodo pulito ?
 
in sostanza vorrei che un template potesse accettare 
soltanto tipi scelti all'interno di una rosa di tipi 
ammissibili (sono tipi intrinseci, non posso sfruttare 
ereditarietà).
 
Non so se si possa fare, con lo standard vecchio, ne sapete 
qualcosa ?
ciao
CCCP
 
 
-- 
1) Resistere, resistere, resistere.
2) Se tutti pagano le tasse, le tasse le pagano tutti
Soviet_Mario - (aka Gatto_Vizzato)
 

 
 
Forse non ho capito la domanda.. non puoi risolvere con il "template
specialization"?
 
Ciao!

 Ciao!


 supportati.
 
Pensavo a qualcosa tipo:
 
// generica, non accettata
template <class T>
class pippo {
    T v;
public:
    void a(void) { throw exception(); }
};
// accettata
template <>
class pippo<int> {
    int v;
public:
    void a(void) { cout << v << endl; }
};
 
Anche se controlla solo a runtime, ti permette di utilizzare solo i tipi di
cui hai specializzato il template.
 
Ciao!


non ho capito in cosa consisterebbe la templatizzazione ...
qual'è la parte generica in
  // accettata
  template<>
  class pippo<int>  {
       int v;
  public:
       void a(void) { cout<<  v<<  endl; }
  };
 
se INT è il tipo "fisso" di V ?
 
sicuramente non sto capendo. Ho parecchia ruggine, 
specialmente sui template :-(


 };
 
Il modo *corretto* e' usare la static assert di boost;
non dovrebbe essere necessario installare tutto boost, basta il file
appropriato.
 
http://www.boost.org/doc/libs/1_46_1/doc/html/boost_staticassert.html
 
 
In particolare, suggerisco di guardare l'ultimo paragrafetto. Comunque,
ci sono modi di farle a mano le static assert, in modo piu' primitivo.
 
-- 
-riko
http://www.enrico-franchi.org/
 
http://rik0-techtemple.blogspot.com/
 

 [...]
 
magari non è in tema con "modo pulito in plain C++ (non l'ultimo standard)"
 
Ciao!


 
 
-- 


 ci guardo subito, ringrazio anticipatamente.
 
P.S.
ho trovato anche questo :
 
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.38.6457&rep=rep1&type=pdf
 
 
e lo sto leggendo, ma lo trovo estenuante, con la ruggine 
che ho, faccio una certa fatica a capire le cose che potrei 
stralciare e quelle che no.
Magari ne riparliamo se riesco.
 
P.S. ma Boost è un sito lento ? Mi continua a dare time out ...


 l'ultimo standard)"
 
Ma perche'? E' vero che nell'ultimo standard sono state introdotte nel
linguaggio. In quello vecchio sono una libreria di facile utilizzo,
molto comoda per varie cose.
 
Inoltre, come dicevo, uno puo' implementarsele a mano (in puro e
semplice C++), tuttavia, non sono convinto che convenga rispetto ad
usarne un'implementazione sicura e ben testata. E, per inciso,
assolutamente facile da usare e installare.


 P.S. ma Boost � un sito lento ? Mi continua a dare time out ...
 
Non che io sappia... 



 
 
-- 

Newsgroup: it.comp.lang.c++
Titolo: Re: Fare grafici di funzioni in C

 ma mi da sempre errore.. mi potete aiutare? grazie!!
Il C standard non prevede alcunche' legato alla grafica.
Se vuoi una dritta in direzioni non standard ma comunque 
multipiattaforma, dai un'occhiata alle SDL, e cmq su google, se avessi 
cercato bene, non avresti trovato _una_ soluzione, ma _un milione_ di 
soluzioni diverse.
PS: se il topic e' "fare grafici di funzioni in C", perche' hai 
cross-postato anche su it.comp.lang.c++ e it.comp.aiuto, cosa tra 
l'altro che viene di solito sconsigliata?
-- 
Mat/tia Belletti - Undergraduate student @ 
cs.unibo.it
ICQ: 33292311    - email: 
mbel...@cs.unibo.it
IRC: RedGlow     - site(s): 
http://mbellett.web.cs.unibo.it/
Jabber: RedGlow  - Linux registered user 299762 @ machine 213003



Marco wrote:

puoi sempre scrivere l'output ddel programma in un file dati di matlab 
(controllando bene quale e' il formato dati dei file matlab) e farlo 
disegnare da matlab senza passare dal (poco maturo, per forza di cose) 
compiler.
Reddde


Ma qual'è la materia di insegnamento? Credo sia importante per sapere quali
librerie usare senza trovarsi ad avere l'esercizio già pronto. Oppure al
contrario rischiare di doversi scrivere una libreria di applicazioni
grafiche da zero o quasi partendo ad esempio da X.org . Ovviamente non penso
sia il tuo caso.
Comunque che ne pensi di 'GNU Octave'? Dai un'occhiata a
http://www.octave.org
 .
Buon lavoro,
fabiomdf
 
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/
Newsgroup: it.comp.lang.c++
Titolo: reference a un array

Come dichiaro un reference a un array di 10 int?
CI sono riuscito solo tramite typedef. E' possibile farlo
diversamente?
	/////codice/////////////
	typedef int ARRAY[10];
	typedef ARRAY& ARRAY_R;
	void f()
	{	
	   ARRAY array={1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
 
	   ARRAY &r_array=array;		//FUNZIONA
	   ARRAY_R arr=r_array;		//ANCHE QUESTO FUNZIONA
	   int &a[10]=array; //<Unknown>' : arrays of references are
illegal
	   return 0;
	}
/////fine codice/////////////
FORSE LA SINTASSI GIUSTA E':
int &a=array[0];
cioč il reference a un array di dieci int non č altro che un reference
al suo primo elemento?

    int &a[10]=array; //<Unknown>' : arrays of references are illegal
     int ( & a )[ 10 ] = array;
MM

Newsgroup: it.comp.lang.c++
Titolo: domanda sulle MFC

sto iniziando a studiare le MFC di Microsoft, quindi la programmazione con il visual C++ per win95.
non mi  ben chiara una cosa:
Qual' la differenza tra la classe CWnd e la classe CFrameWnd.
Cio la CFraneWnd  derivata dalla CWnd, quindi la domanda pi precisa : 
Quali funzionalit ha la CFrameWnd in pi rispetto alla CWnd? E quando conviene usare una o l'altra?
grazie,
c ya!
/\/\etal Dave.

grazie,
prego, ciao

Newsgroup: it.comp.lang.c++
Titolo: Compressione Run-Length

Ciao , cerco una classe per la compressione dei files che sfrutti
l'algoritmo di codifica RUN-LENGTH . Tra i vari algoritmi sulla
compressione mi è sembrato il piu' facile , anche se non proprio
efficace. In realtà lo preferisco proprio per la sua semplicità.
Grazie....CIAO

Ciao , avrei bisogno di una classe per la compressione dei files che
sfrutti l'algoritmo di codifica RUN-LENGTH Tra i vari algoritmi di
codifica mi sembra il piů semplice anche se non proprio il piů
efficace , ma soprattutto mi č utile per capire un po' come muoversi
tra stringhe , file di caratteri ecc.Insomma in poche parole cerco una
classe abbordabile che non mi faccia impazzire.... 
Grazie......CIAO 
Marco

Newsgroup: it.comp.lang.c++
Titolo: Visual C++ x.x o cosa??

Ciao a tutti sono un piccolo programmatore(eheh) reduce da un pò di pascal a
livello scoloastico e molto da autodidatta e vorrei iniziare col C++. Che
compilatore mi consigliate? Possibilmente x win con interfaccia IDE.
Mi potreste anche consigliare un buon libro?


Consulta le FAQ di questo gruppo che trovi su 
www.programmazione.it
.
EMG

compilatore mi consigliate? Possibilmente x win con interfaccia IDE.
C++ Builder. In assoluto il migliore secondo me (come tutti i prodotti
Borland). Meno buona la manualistica.
--
Andrea Laforgia (
andrea_...@bigfoot.com
)
---------------------------------------------
Newsgroup: it.comp.lang.c++
Titolo: Questa poi !!!

Salve a tutti,
ve ne racconto una che mi sa di tiro diabolico....
Devo leggere una variabile double da un file.dat ed ho le mie brave
istruzioni di fscanf:
while( fscanf(param,"%c",&a)!=EOF && a!='=');
          fscanf(param,"%lf",&DT_1);
          printf("DT_1=%.8f",DT_1);
Ebbene, se col Borland C++ ver. 5.02 voglio "monitorare" il valore della mia
variabile DT_1 mi ritrovo come valore da lei assunto un bellissimo 0
(imprecazioni a volontà !!!!), e lo stesso capita usando Inspector.
Ma sapete invece cosa succede col printf ?
Il valore mi viene stampato correttamente !!!!!
Che significa ?
FRA POCO INIZIERO' AD URLARE !!!!!
Bye,
Sebastiano.
P.S.
Ma è mai possibile che anche un cavolo (con le coloriture mi voglio
mantenere ai limiti) di fscanf mi deve mettere in crisi !!!


[CUT]
Non sarebbe meglio usare le funzioni di I/O del C++?
Manlio Perillo

Mi rispondo io stesso.
Grazie alla collaborazione instancabile di Andrea Griffini, ho scoperto che
questo cattivo comportamanto del watch era dovuto al fatto che una variabile
membro di una mia classe non era correttamante inizializzata, ma rimaneva
"sporca" a -NAN.
Questo probabilmente (la mia č una ipotesi) faceva saltare il programma, nel
senso che il codice accedeva a locazioni di memoria che contenevano
istruzioni e valori delle variabili errate.
Sono sicuro di una cosa, perň, che effettuando il Debug, richiamando un dato
metodo il codice non seguiva le righe dovute, ma... passava "un po avanti",
sintomo di qualcosa di sballato.
Non so se sono riuscito a rendere l'idea, ma č come se si hanno due
funzioni, A e B e, dovendo accedere ad A si vede letteralmente la striscia
blu del debugger che segue le linee di codice di B, sempre che la
definizione di B era scritta (si, proprio cosi, scritta) dopo quella di A.
Sistemando l'errore che produceva -NAN si č risolto questo genere di errore.

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

cia
 
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

Ciao a tutti,
scusate per il precedente post.
Una domanda semplice :
Ho l'esigenza di fare il cast di una struttura
(preciso che NON sono classi), faccio qualche
cosa del genere :
<CODE>
[.....]
void qualcosa (MY_STR *mySTR)
{
   MY_STR2 mySTR2;
   mySTR2 = *(reinterpret_cast<MY_STR2*> (mySTR))
}
</CODE>
E' Corretto secondo voi ?
bye.

Newsgroup: it.comp.lang.c++
Titolo: aiuto per fare un prog

sono nuovo e vorrei fare un prog che carica in memoria due file txt
dentro ce :
1 10,45,78,125,500
2 15,96,63,32,52
etc
e l'atro file lo stesso
formato
vrrei caricarli in memoria e poi cha fa comparare
la ligna 1 con la ligna uno del secondo file
e sempre la ligna 1 con la ligna 2 del secondo file
etc fino la fine del file 2 e poi passa a la ligna 2 del primo file et 
ricomincia col file due
grazie
e  la fine mi salva un file che la ligna uno ce tanti numeri che corispondo
grazie

giovanni ha scritto:

???

 
ma mi sa che vuole fare solo un diff tra due file...


mi sa che ci hai azzeccato...
solo che la ligna1 e ligna2 non si puï¿œ sentire...

giovanni ha scritto:

A parte il tuo italiano orribile
puoi partire da questo ottimo diff engine postato su codeproject:
http://www.codeproject.com/KB/applications/difftool.aspx
e vedere come ï¿œ fatto.
micheg

A parte il tuo italiano orribile
Non hai notato che scrive da un host svizzero?

 Non hai notato che scrive da un host svizzero?
Certo e altre volte ho visto suoi post su altri gruppi (pi� che altro
roba legata al satellite e alla pirateria) pure in francese, alle volte
pure in pessimo francese.
Poteva scrivere qualcosa del tipo: non sono italiano scusate etc...
Non hai contatti in altra lingua che ti fanno notare anche gli errori
minimi? io si (pi� che altro inglesi).
Il fatto che sia svizzero o francese o quelle che gli pare non significa
che nessuno possa fargli notare che se da una richiesta d'aiuto non si
riesce a capire cosa vuole � difficile aiutarlo.
micheg

Newsgroup: it.comp.lang.c++
Titolo: Compilatore c++ per windows ce.

Come da oggetto: dove posso trovarlo? Grazie.

 Come da oggetto: dove posso trovarlo? Grazie.
provato sul sito della Microsoft? lo trovi lě ed č liberamente scaricabile.
-- 
There are better things in life than alcohol, but alcohol makes up for 
not having them. - Terry Pratchett.

Newsgroup: it.comp.lang.c++
Titolo: Estrazione di un Package con Builder 4

Una volta inserito un file dentro un OleContainer (quindi creando un
package), come e' possibile
estrarlo, sensa eseguirlo, integro come l'originale ?
Come posso sostituire la chiamata system("copy  file1  file2") ?
        Grazie anticipate!
danilo...@freemail.it



Newsgroup: it.comp.lang.c++
Titolo: SQL e C++

La domanda sembrera' banale ma non ne vengo a capo...
Vorrei scrivere un programmino in c++  che si avvalga di una base di dati,
ho studiato SQL da vari manuali McGraw-Hill ma quando si tratta di
descrivere anche uno straccio di codice che documenta come implementare le
varie select e memorizzare i dati acquisiti sembra sia tabu...
Ho cercato su msdn ma trovo tonnellate di codice di cui non vengo
esattamente a capo...
Uso Borland C++ Builder 6
Grazie

Ciao
prova ad usare interbase di borland, un database opensource con un 
preprocessore che ti consente di scrivere
SELECT ... FROM ...
direttamente nel codice.
Puoi scaricare il tutto a
http://info.borland.com/devsupport/interbase/opensource/
Stai attento, il preprocessore suddetto ha qualche bug se non ricordo male.
buon lavoro
benedetto

Newsgroup: it.comp.lang.c++
Titolo: da string a char*

ciao a tutti
esiste un metodo della classe string che ritorni un char* della string?
ho provato a fare qualcosa del tipo
string s("boh");
char* chrs = reinterpret_cast<char*>(&s);
cout << chrs << endl;
ma in output ho solo caratteri strani
l'unica soluzione funzionante è un ciclo di for...
che brutto!!!
mi auguro che sia riuscito a spiegarimi
grazie mille
ciao

 esiste un metodo della classe string che ritorni un char* della string?
std::string::c_str()
( const però )
-- 
sbi

 char* chrs = reinterpret_cast<char*>(&s);
Anziché andare a tentativi, č meglio consultare un manuale.
Max

 Anziché andare a tentativi, č meglio consultare un manuale.
il problema č che non ne ho uno
ciao


Thinking in C++, scaricabile gratis.
Su, dai, iniziativa e google...
-- 
Mat/tia Belletti - Undergraduate student @ 
cs.unibo.it
ICQ: 33292311    - email: 
mbel...@cs.unibo.it
IRC: RedGlow     - site(s): 
http://mbellett.web.cs.unibo.it/
Jabber: RedGlow  - Linux registered user 299762 @ machine 213003

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

Devo realizzare un 'applicazione che soddisfi i seguenti requisiti:
tramite un menů esterno devo poter accedere a scelta ad un insiemedi
programmi su matrici(prodotto matriciale, punto sella, sottomatrice) con
relativo inserimento di dati e stampa dei risultati. Ho iniziato da poco
a studiare il C.
Vi ringrazio anticipatamente per l'aiuto.
Mario

a studiare il C.
Se hai 'fretta' ti conviene scrivere il programma con un linguaggio a
te piů familiare... o vuoi la 'pappa pronta'?
Luc.

Newsgroup: it.comp.lang.c++
Titolo: [OT] - dove posso scaricare Borland C++ Builder?

Come da oggetto.
Mi servirebbe l'IDE, ma sul sito della Borland non trovo nessun link per 
il download.
Qualcuno sa aiutarmi?
Scusate l'OT e buona settimana a tutti!

 per il download.
C'e un link in home page.
http://www.borland.com/products/downloads/download_cbuilder.html
-- 
I'am what I'am, I do what I can


Presumo che l'IDE venga solo con le versioni a pagamento.
Comunque penso ci siamo diversi editori (anche free)
che possono essere configurati per lanciare il borland.
ciao,
g.

 Presumo che l'IDE venga solo con le versioni a pagamento.
Esiste una trial version di C++ Builder 6 che dura 60gg.
(manca solo l'implementazione di CORBA)
Ciao.
Newsgroup: it.comp.lang.c++
Titolo: Passare un vector a una funzione

#include <vector>
using std::vector;
float magg(vector<float> vprova)
{
      for(int i=0;i<vprova.size();i++)
            if (vprova[i]>magg)
                  magg=vprova[i];
}
Dove sta l'errore??? Mi dice:
In function `float magg(vector<float,allocator<float> >)':
invalid operands `float' and `float ()(vector<float,allocator<float> >)' to
binary `operator >'
assignment of function `magg(vector<float,allocator<float> >)'
assignment to `float ()(vector<float,allocator<float> >)' from `float'
Come posso fare?
Ciao
--
Timothy Redaelli

 }
`magg' e` il nome della funzione, non lo puoi utlizzare come una 
variabile...
Se intendi restituire il valore massimo contenuto nell'array puoi 
scrivere:
float magg(vector<float> vprova)
{
         float val_max=vprova[0];
         for(int i=0; i<vprova.size(); i++)
                 if (vprova[i]>magg)
                         val_max=vprova[i];
         return val_max;
}
-- 
Danilo Piazzalunga
Linux Registered User #245762 at 
http://counter.li.org
mailto:
leo-...@ibero.it

 }
C..zzo è vero, dimenticavo la variabile temporanea....
Errore di m.rda.
Scusate
Ciao
--
Timothy Redaelli

 }
Io la riscriverei cosi':
float magg(const std::vector<float>& vprova)
{
    float val_max = std::numeric_limits<float>::min();
    for(int i=0; i<vprova.size(); ++i)
       if (vprova[i]>val_max)
            val_max=vprova[i];
    return val_max;
}
o per gli amanti degli STL Algorithms:
float magg1(const std::vector<float>& vprova)
{
     if (vprova.size() == 0) return std::numeric_limits<float>::min();
     return *std::max_element(vprova.begin(), vprova.end());
}
Ciao
Gaetano
--
#exclude <windows>
printf("\t\t\b\b\b\b\b\b");.
printf("\t\t\b\b\b\b\b\b");

 o per gli amanti degli STL Algorithms:
O per gli adepti dell'Exceptional Programming(TM) :-)
#include <limits>
#include <algorithm>
#include <stdexcept>
 
float magg1(const std::vector<float>& vprova)
{
     if (vprova.size() == 0)
         throw std::invalid_argument("vettore vuoto!");
     return *std::max_element(vprova.begin(), vprova.end());
}
Ciao,
Nicola
Newsgroup: it.comp.lang.c++
Titolo: Pattern singleton ottimizzato ?!?

Salve,
ragionando in un mio progetto mi chiedo: perchè utilizzare il famoso pattern
SINGLETON per oggetti con una sola istanza ???
Io ho preferito utilizzare una classe TOTALMENTE STATICA. In questo modo
evito l'overhead della indirezione con ::istance()->...
Che ne pensate ??
Saluti,
Lvc@.

Sono due cose diverse: ad esempio il Singleton ti permette di garantire
l'ordine di costruzione rispetto ad altri Singleton, cosa piu' difficile
da ottenere con il tuo approccio.
Ciao,
Nicola

Lvc@ <l.ga...@tin.it.removemeee> wrote in message
news:8k1gci$kfc$1...@fe1.cs.interbusiness.it...

Ci sono dei trade-off (suggerisco di studiare, oltre a "Design
Patterns", anche "Hatching Patterns" di Vlissides), come la
possibilita` di "personalizzare" il singleton ereditando dalla
sua classe, il controllo sul momento di costruzione e distruzione
(che per oggetti di lifetime static e` piu` problematico), e
simili.  Ma sicuramente esiste "design space" per varie possibili
alternative a "Singleton".  Raramente le considerazioni relative
alle prestazioni saranno cosi` pressanti da obbligare a rinunciare
alla piu` flessibile/estendibile sintassi di chiamata
    oggetto()->metodo();
in favore della piu` rigida
    classe::metodo();
particolarmente considerando che le possibilita` di "inline" nei
casi piu` critici possono rendere le prestazioni dei due approcci
totalmente identiche con un buon compilatore.  Piuttosto, le varie
alternative a "Singleton", basate sulle varie possibilita` di
"oggetti senza stato" (o meglio, con stato delegato/condiviso) e
cosi` via, si basano su alternative di semantica, senza sacrifici
sintattici (e relativi irrigidimenti rispetto a future modifiche)
dal punto di vista del codice-cliente.
Alex

 wrote in message
news:3964575B...@divalsim.it...

Newsgroup: it.comp.lang.c++
Titolo: Espressioni algebriche

Ato provando a fare un parser di expr  matematiche.
Ho creato la mia bella classina ma ho un problema
bool CExprParse::Exec()
{
	std::string tmp("");
	ExprOp * ex;
	// IF EMPTY EXIT
	if(expr.empty())
		return false;
	while(!expr.empty())
	{
		// RETURN THE PART OF EXRESSION TO EXECUTE
		ex = expr.front();
		//////////////////////////////////////////
		///////// CHECK THE LITTERAL /////////////
		//std::string f_l = ;
		//std::string s_l = ;
		/*
			if(f_l == s_l) // ax + bx
			{
				switch(ex.op)
				{
					case PLUS:
						break;
					case MINUS:
						break;
					case DIV:
						break;
				}
			}else // ax + by
			{
                                 switch(ex.op)
				{
					case PLUS:
						break;
					case MINUS:
						break;
					case DIV:
						break;
				}
			}
		*/
		//////////////////////////////////////////
		//////////CHECK THE NUMBERICAL ///////////
		//int fist = static_cast< int >();
		//int second = static_cast< int >();
		//////////////////////////////////////////
		////////// EXEC THE OPERARATION //////////
 
		// REMOVE THE ELEMENT
		expr.pop_front();
	}
	return true;
}
E giusto come implemento il metodo????
Non so pero come avanzare :(
Tnk
--
Kleidemos

 Non so pero come avanzare :(
Se _a te_ dessero un pezzo di codice del genere, che utilizza classi, 
variabili e metodi che non sono stati riportati, riusciresti mai a 
capire cosa diamine fa?? Ad es., senza vederlo, come facciamo a sapere 
cos'e' expr? Cos'e' il metodo front()? E il metodo pop_front()?
Cmq il mio consiglio e' leggerti un manuale sui linguaggi liberi. 
Probabilmente per le espressioni di questo genere il parser e' 
_abbastanza_ intuitivo da scrivere, ma cmq in questo modo puoi avere un 
background teorico piu' solido.
-- 
/**
  * 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
  */

 background teorico piu' solido.
Concordo in pieno anche se pop_front e front sono forse i piu' intuibili, ad
esempio potrebbe essere una std::deque o una std::list. Detto questo
Kleidemos dovrebbe imparare a spiegare come affronta il problema, descrivere
l'algoritmo e poi postare il pezzo di codice rilevante. Spesso pare pigro a
scrivere e scrive solo 3-4 parole, poi ovvio, copiare-incollare codice non
richiede tempo e lo fa volentieri. Kleidemos, ti ho gia' detto, se vuoi che
noi perdiamo tempo per te perdilo anche tu per la domanda.
Tommy
Newsgroup: it.comp.lang.c++
Titolo: C++ La guida Completa 2°Edition

Chi l'ha mai sentito alzi la mano... e digiti sulla tastiera. E' della
MCGrow Hill costa 85.000 e mi pare un libro di tutto rispetto sullo standard
c++ e vous che ne mensates????
Vale la pena?  Non mi interessano altri libri voglio solo un commento su
questo..
Thank YA

 wrote in message 833nni$dh1$1...@zahra.easynet.it...

Premetto che sono un neofita, l'ho comprato e mi sembra che spieghi le cose
in modo sufficientemente chiaro nonostante la traduzione.
Sono però sicuro che su questo news ci sono persone che non la pensano come
me....
Alessandro

 questo..
Se, come penso, è stato scritto da Herbert Schildt, lascialo perdere.
EMG

Tell me whyyyyyyy, you want love whyyyyyyy. My love tell  me whyyyyyyy i
don't know tell me why!
Perchè fà così scifo a me sembrano buone queste guide complete... ne ho una
di java e una vecchia di c++ e non mi sembrano male ...
Tell me why?


 > Se, come penso, è stato scritto da Herbert Schildt, lascialo perdere.
Ok, anche per te, prova a dare un'occhiata su:
http://www.lysator.liu.se/c/schildt.html
Poi giudica tu. Se però a te sembra ancora valido, niente da dire.
--
Alessandro Monti

Newsgroup: it.comp.lang.c++
Titolo: DOS & C++...metodi VS segmenti

Ciao a tutti,
scusate la domanda un tantino banale, in MS-DOS quando compile del
codice C++, la suddivisione tra dati e funzioni nei vari segmenti viene
effettuata dal compilatore considerando banalmente i metodi come
funzioni e gli attributi come dati?
Qualcuno sa darmi informazioni o dirmi dove posso trovare informazioni
sulla creazione del codice macchina da parte di compilatori MS per
MS-DOS?
PS Ho posto volutamente la domanda in maniera semplicistica
(dato=attributo, funzione=metodo senza fregarmene di oggetti,
riferimenti, istanze, ecc) scusate ancora.
Grazie a tutti.
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 funzioni e gli attributi come dati?
Io sapevo che ogni file .obj linkato per
generare un vecchio exe ms-dos veniva messo
in un segmento suo, e che il segmento dati
era in comune fra tutti. Questo a prescindere
dal linguaggio usato per scrivere i sorgenti.
Nel caso di codice C++, con classi derivate
e metodi virtuali, non so se il meccanismo sia
diverso, ma tendo a pensare che resti lo stesso,
forse con qualche modifica...

Newsgroup: it.comp.lang.c++
Titolo: Borland C++ 5.01

Salve.
Ho appena installato il Borland C++ 5.01 completo. E' la versione per
windows 95 ma mi va bene anche per il Me.
Pensate sia buono come compilatore? Fino ad ora ho utilizzato
l'ultra-antichissimo Borland Turbo C++ 3.0.
So che č un passo avanti, ma č un buon passo avanti?
Ma soprattutto, la getch() dą problemi?!??
c:\thinkcpp\_

 c:\thinkcpp\_
Buon libro, soprattutto gratis.
--
Paolo Giarrusso
Per rispondere togliere solo "TOGLIMI" dall'indirizzo, non _spam.