mii-community/UsenetArchiveIT-conversations huggingface dataset:
Newsgroup: it.comp.lang.c++
Titolo: COME INIZIARE?

Ragazze/i:
voglio, anzi devo, iniziare a programmare in C++; ki mi aiuta a kapire tutto
quello ke ci vuole e dove posso trovarlo (meglio se gratis, please)?
GRAZIE A TUTTI/E.

 writes:

Komincia a leggere le FAKs ke sono fatte pe kuesto.
-- 
Maurizio Loreti                         
http://www.pd.infn.it/~loreti/mlo.html
Univ. of Padova, Dept. of Physics - Padova, Italy            
lor...@pd.infn.it
Murphy's law: "Anything that can go wr
/bin/fortune: segmentation fault - core dumped

e ke ne so...
komunkue penso ke hai bisogno di un kompilatore K++ e un buon manuale sul
K++

 ha scritto nel messaggio
news:rwZF5.11869$Nz.2...@news.infostrada.it...


 quello ke ci vuole e dove posso trovarlo (meglio se gratis, please)?
Comincia con leggere le FAQ di questo newsgroup che trovi su
www.programmazione.it
. Ci troverai tutte le indicazioni che ti servono.
EMG

Newsgroup: it.comp.lang.c++
Titolo: Libro Bruce Eckel

Sapete se č stato tradotto in italiano?
Grazie 1000
Ciao :-) Roberto

 Sapete se č stato tradotto in italiano?
Si. Se parli di "Programmare in C++" io ce l'ho.
Achille

Newsgroup: it.comp.lang.c++
Titolo: risoluzione dello schermo

qualcuno sa dirmi un modo per conoscere la risoluzione dello schermo in 
c++???

 c++???
Non esiste. Il linguaggio c++ non prevede il concetto di
schermo. Sono estensioni varie che dipendono essenzialmente dalla
macchina e/o dal compilatore e/o dalle librerie che usi.
Devi rivolgerti ad un gruppo relativo al sistema operativo
sul quale stai lavorando.
ciao,
g.

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

chiedo scusa per l'errore... grazie a tutti

Newsgroup: it.comp.lang.c++
Titolo: Lettura di dati POST.

Devo leggere dei dati passati da una form HTML tramite il metodo POST.
Come fare?
Ciao e grazie, Pierluigi.

Devo leggere dei dati passati da una form HTML tramite il metodo POST.
Ci sono ottime e semplici librerie gratuitamente
scaricabili dalla rete che aiutano a scrivere CGI in
C (o C++), incluso il supporto del POST.  Purtroppo
non ho una URL sotto mano, ma cercando sui vari
motori tipo Altavista per cose tipo "CGI and
library" non dovrebbe essere difficile trovarne.
Alex
Newsgroup: it.comp.lang.c++
Titolo: Programmazione Win32 o C++(MFC) ?

Avete mai provato a fare un raffronto tra una applicazione scritta in C++
(MFC) e la stessa applicazione scritta in C (programmazione diretta delle
API di Windows) ?.
Programmare usando le MFC facilita il compito , dicono !!!! ma che senso ha
richiamare metodi di varie classi,per le quali è necessario creare istanze ,
quando per ogni necessità si trova una funzione API direttamente
utilizzabile !! (con un piccolo sforzo in più ma con molta più potenza).
La conoscenza delle API, inoltre, è quasi completa mentre le MFC ,secondo
voi, sono effettivamente conosciute(nel codice) dai programmatori ? (quelli
della Microsoft esclusi);
Ho molti dubbi in proposito.
Personalmente preferisco sicuramente il C anche se riconosco che Il C++
puro è un ottimo linguaggio ma non in ambiente Windows.
Cosa ne pensate ???
Grazie per gli eventuali pareri.
S.L.

 Cosa ne pensate ???
Penso che non ci sia nessuna ragione per usare il C invece del
C++ per sviluppare applicazioni su Windows, e ce ne siano
invece parecchie in contrario.  Altri linguaggi possono essere
ancora piu` adatti, ma fra questi due, non c'e` gara.
Il discorso quale-framework-o-nessuno e` separato.
Comunque, possiamo certo continuare in
it.comp.programmare.win32!
Alex

Cosa ne pensate ???
Se approfondisci con occhio critico le tematiche relative alla OOP ti
accorgerai delle differenze tra un approccio procedurale (alla C)
ed uno OO (alla C++).
Se ti fermi a valutare questo o quel framework, anche se ti sforzi di
essere obiettivo non riuscirai a vedere la portata di un approccio OO
(indipendentemente dal fatto che si tratti di C++, Java, smalltalk...)
in quanto potenzialmente condizionato dalla qualita` del framework.
Paolo

Newsgroup: it.comp.lang.c++
Titolo: Mail da c++!!! Pls help me!

Ciao a tutti! Qualcuno č cosě gentile da scrivermi due righe su come
si invia una mail via smtp in c++, senza le odiose MFC???
E poi, č meglio usare le winsock 1.1 o le nuove 2.0 per inviare tali
mail?
Grazie a chiunque mi sappia aiutare!!!

Grazie a chiunque mi sappia aiutare!!!
o... sia winsock 1.1 che 2.0 non cambia chissà cosa....
tanto la procedura é la seguente
creare un socket
connettersi alla porta 25 del server smtp
inviare un messaggio di benvenuto
inviare il mittenete
inviare il destinatario
inviare il corpo del messaggio
inviare il .
inviare il comando quit
il messaggio parte
unico problema é la risposta, non puoi sapere se e quando te la darà
il server smtp, +o- per ogni comando che invii c'è una risposta del
sistema, ti comunicherà se la procedura é tutta corretta o meno.....
esempi di software che inviano msg via smtp realizzati in c non ne ho,
però ne ho uno che utilizzo x scaricare la posta da pop3 in c
se ti serve scrivimi in privato
ciao
cod



-------
Grazie x il consiglio, ma ahime, la procedura per inviare una mail via
smtp già la conoscevo, infatti qualche giorno fa ho realizzato un
piccolo programma che le invia ma con l'utilizzo delle mfc. A me serve
farlo in c++ puro perchè le mfc creano eseguibili troppo grandi.
Cmq, grazie!
Newsgroup: it.comp.lang.c++
Titolo: Codice sequencer MIDI

Conoscete un sito da cui scaricare codice di un sequencer MIDI per PC....
oppure qualcuno ha sviluppato un sequencer?
Grazie

 wrote in message
8ctH4.93404$pn3.1...@news.infostrada.it...


Newsgroup: it.comp.lang.c++
Titolo: a proposito di metodi virtuali

Salve,
sono relativamente nuovo in C++ ed ho il seguente dubbio.
Ho una classe A e da questa derivo una classe B. Da quest'ultima deriva una 
classe C. Tutte e tre hanno lo stesso metodo, diciamo MioMetodo(), che 
differisce solo nel codice di implementazione in ciascuna classe.
Domanda: usando MioMetodo() con una istanza di class C, il compilatore č 
capace di scegliere il metodo corretto, proprio quello di C? Oppure questo 
comportamento dipende dal compilatore? Oppure deve far precedere i metodi 
dalla parola "virtual" per essere sicuro di non sbagliare?
Sto usando MSC8 e sembra che sia capace di distinguere il metodo giusto, ma 
temo che si tratti di un caso.
Grazie dell'attenzione,
Luigi 

 dalla parola "virtual" per essere sicuro di non sbagliare?
Mi pare tu abbia un po' di confusione su concetti che sono assolutamente 
fondamentali per a programmazione in C++. Su che manuale stai studiando o 
hai studiato? 
Ad ogni modo, qui č spiegato grosso modo tutto quello che dovresti 
sapere sulle funzioni virtual.
 
http://www.parashift.com/c++-faq-lite/virtual-functions.html
Max

 Ad ogni modo, qui è spiegato grosso modo tutto quello che dovresti


 non occorre che MioMetodo sia definito virtuale per indirizzare il ...
Ok.
Nota terminologica: nel "gergo" del C++ solitamente non si dice "metodo" ma
"funzione membro" ("member function"). 
Max

 Luigi
Si in questo caso virtual non serve perche` stai chiamando il metodo di 
un oggetto di classe classC.
Ciao,
Cesare

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

Ciao a tutti. Faccio alcuni semplici programmini con il borland c++. Volevo
solo sapere come fare per evitare che in una Edit sia immesso solo un numero
e non una stringa. Grazie.


Newsgroup: it.comp.lang.c++
Titolo: 100 PUNTI a chi mi da una mano a trovare questo algoritmo VI PREGO!!!!

Campionato di calcio
La Federazione Italiana Gioco Calcio vi chiama per scrivere un
algoritmo che produca il calendario per la prossima stagione.
L'algoritmo deve generare l'elenco delle partite, diviso in giornate e
tale che:
 
1.    ogni squadra giochi una ed una sola volta contro ogni altra
squadra,
 
2.    ogni squadra non giochi due volte nella stessa giornata,
 
3.    il numero delle giornate sia minimo.
 
Il problema che l'algoritmo deve risolvere può essere formalizzato
come segue.
 
Problema: Campionato di calcio.
Istanza:  Un intero n> 1 (numero di squadre).
 
Soluzione:   Una partizione (suddivisione in giornate) di cardinalità
minima dell'insieme delle partite {(i, j) : i < i < j < n} tale che
nessun elemento della partizione contenga due coppie di interi aventi
un intero in comune, cioè due partite nella stessa giornata in cui
gioca la stessa squadra.
Si ricorda che partizione di un insieme S è ogni collezione di
sottoinsiemi di S tale che ogni membro di S si trova in un elemento
della partizione e nessun membro di S si trova in due o più elementi
della partizione.
 
Parte 1.  Si sviluppi un algoritmo di tipo divide et impera per il
caso in cui n sia una potenza di 2. L'algoritmo deve risolvere il
problema "campionato di calcio" con input 2^k (per k > O intero)
usando esattamente n - 1 giornate e in tempo o(n^2).

Ti chiedo scusa se non provo a darti la soluzione, ma ultimamente
non ho molto tempo. Pero' posso darti un consiglio. Mi sembra di
ricordare che la soluzione ad un problema simile al tuo sia 
contenuta nel libro "Strutture, Algoritmi e Complessità", di 
A. A. Bertossi, ed. ECIG, ma anche in un libro simile
scritto da Wirth. 
Prova un po' cercare. Spero che tu abbia fortuna.
Bye
Enrico

Newsgroup: it.comp.lang.c++
Titolo: Scrivere una struct su disco

Ho una struct formata da 4 float e un CString
Devo scriverla su disco
1) Non so come scrivere una float su disco. Dovrei trasformarla in una
stringa, ma non riesco a trovare una funzione/macro di conversione (tipo
_itoa per le int) che me lo permetta.
2) Dovrei scrivere
CFile file;
file.Write(DatiUtente.Nome, sizeof(DatiUtente.Nome));
ma sizeof(DatiUtente.Nome) da 4, quando se lo faccio scrivere a video, mi
scrive tutta la variabile anche di 20 caratteri.
Che devo fare?
Riccardo
ri...@wxt.com

...


Newsgroup: it.comp.lang.c++
Titolo: E' possibile....?

Dicevo, e' possibile in C/C++ sotto win98(o 95) avere una funzione che mi spenga il comp? Cioe' l'equivalente di "Arresta sistema" con tanto di spegnimento in ATX e comparsa della scritta "E' ora possibile ecc ecc" su altro?
Ciao e grazie tanto. Dino.
--
Posted from 
studenti.unina.it
 [192.132.34.114]
via Mailgate.ORG Server - 
http://www.mailgate.org

 che mi spenga il comp?
Spostarsi in it.comp.programmare.win32.
Grazie.
EMG

Dicevo, e' possibile in C/C++ sotto win98(o 95) avere una funzione che mi



ICQ #34602650
Newsgroup: it.comp.lang.c++
Titolo: Aiuto Albero binario

Chi mi fa vedere come faccio ad inserire i nodi nell'albero in modo da
averlo sempre completo?
es.
                a
            b        c
        d     e    f   g
la specifica è riportata di seguito. Grazie
SPECIFICA SINTATTICA
      1.      CREABINALBERO :
     () à ALBEROBIN
      2.      BINALBEROVUOTO :
     (ALBEROBIN) à BOOLEAN
      3.      BINRADICE :
     (ALBEROBIN) à NODO
      4.      BINPADRE :
     (NODO, ALBEROBIN) à NODO
      5.      FIGLIOSINISTRO :
     (NODO, ALBEROBIN) à NODO
      6.      FIGLIODESTRO :
     (NODO, ALBEROBIN) à NODO
      7.      SINISTROVUOTO :
     (NODO, ALBEROBIN) à BOOLEAN
      8.      DESTROVUOTO :
     (NODO, ALBEROBIN) à BOOLEAN
      9.      CANCSOTTOBINALBERO :
     (NODO, ALBEROBIN) à ALBEROBIN
      10.  INSBINRADICE :
     (NODO, ALBEROBIN) à ALBEROBIN
      11.  INSFIGLIOSINISTRO :
     (NODO, ALBEROBIN) à ALBEROBIN
      12.  INSFIGLIODESTRO :
     (NODO, ALBEROBIN) à ALBEROBIN
      13.  LEGGINODO :
     (NODO, ALBEROBIN) à TIPOELEM
      14.  SCRIVINODO :
     (TIPOELEM, NODO, ALBEROBIN) à ALBEROBIN
SPECIFICA SEMANTICA
CREABINALBERO = T'
            Post: T'=<>
BINALBEROVUOTO(T)=b
            Post: b = vero se T =<>; b = falso altrimenti
BINRADICE(T)=u
            Pre: T ? <>
            Post: uàRadice di T à lìvello(u)=0
BINPADRE(u,T)=v
            Pre: T ? <>, u ? N, livello(u) > 0
            Post: v è padre di u à (u,v) ? A à livello(u)=livello(v)+1
FIGLIOSINISTRO(u,T)=v
            Pre: T? <>, u ? N, u ha figlio sinistro
            Post: v è il figlio sinistro di u in T
FIGLIODESTRO(u,T)=v
            Pre: T? <>, u ? N, u ha figlio destro
            Post: v è il figlio destro di u in T
SINISTROVUOTO(u,T)=b
            Pre: T ? <>, u ? N
            Post: b=vero se u non ha un figlio sinistro
DESTROVUOTO(u,T)=b
            Pre: T ? <>, u ? N
            Post: b=vero se u non ha un figlio destro
CANCSOTTOBINALBERO(u,T)=T'
            Pre: T ? <>, u ? N
            Post: T' è ottenuto da T eliminando il sottoalbero di radice u,
con tutti i suoi discendenti
INSBINRADICE(u,T)=T'
            Pre: T=<>
            Post: T'=(N,A), N={u}, livello(u)=0
INSFIGLIOSINISTRO(u,T)=T'
            Pre: T?<>, u ? N, sinistrovuoto(u,t)=true
            Post: N'= N U v, T' è ottenuto da T aggiungendo v come figlio
sinistro di u
INSFIGLIODESTRO(u,T)=T'
            Pre: T?<>, u ? N, destrovuoto(u,t)=true
            Post: N'= N U v, T' è ottenuto da T aggiungendo v come figlio
destro di u

         d     e    f   g
Ti raccomando uno dei libri di Sedgewick sugli algoritmi. Guarda
sotto "alberi bilanciati", "alberi AVL", o "alberi "rossi-neri".
Claudio Puviani

 averlo sempre completo?
it.scienza.informatica
Ciao.
Newsgroup: it.comp.lang.c++
Titolo: codice errato

Il mio scopo sarebbe quello di stampare i primi tre campi di un file.
Il seguente codice mi da errore. Perchč?
grazie, totň
#include <iostream.h>
#include <stdlib.h>
#include <stdio.h>
FILE *f
f=fopen("archivio.dat","rb");
int a,giorno,mese,anno;
int main()
{
 fscanf(f,"%d %d %d ",&a);
 printf("%d %d %d",giorno,mese,anno);
      system("PAUSE");
      return 0;
}
------------- Messaggi di errore ---------------------------
c:\windows\desktop\binario.cpp:6: syntax error before `='
c:\windows\desktop\binario.cpp: In function `int main()':
c:\windows\desktop\binario.cpp:11: `f' undeclared (first use this function)
c:\windows\desktop\binario.cpp:11: (Each undeclared identifier is reported
only once
c:\windows\desktop\binario.cpp:11: for each function it appears in.)

}
Luc
PS: siamo ai primissimi passi, vero?

 >f=fopen("archivio.dat","rb");
    ^^^^^^
[CUT il resto, non m'interessa :)]
Questa riga non l'hai corretta, percio' volevo sapere: e' errata?
In C (da dove provengo :) ) la seguente operazione non e' consentita, poiche'
e' un'istruzione fuori da blocchi eseguibili. In C++ e' lecita?
Scusa se la domanda vi sembra sciocca, ma ho deciso di non prendere piu'
nulla per scontato, dato che sono solo un "Apprendista C++" (come si
direbbe su UO :) )
Bow-wow
Killer

"Luc" <TOGL...@katamail.com-TOGLI> ha scritto nel messaggio
PS: siamo ai primissimi passi, vero?
***
no, ancora vado con il girello ;)
ciao :)))
totò

e' un'istruzione fuori da blocchi eseguibili. In C++ e' lecita?
Non credo proprio.
Luc.

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

Scusate la domanda ma  sono un neofita che vuole imparare il linguaggio C e
C++ ......
... non sò quale prog  utilizzare  per imparare ...
se potete darmi un consiglio su che prog comprare , ve ne sarei grato!
che ne dite di borland c++ ???
oppure è meglio turbo c++??
un'altra cosa :  --- ma un prog del genere (tipo borland o visual c++)
comprende anche il C normale ????
spero in una vostra risposta.....

 
hai sperato e sei stato premiato !!!!!!!
Newsgroup: it.comp.lang.c++
Titolo: Cambiare lo sfondo del desktop

Come si fa a cambiare l'immagine di sfondo del desktop di Windows 95
da un programma in Visual C++ 5.0?
GRAZIE


Se devi soltanto cambiare l'immagine puoi utilizzare SystemParametersInfo
passandogli SPI_SETDESKWALLPAPER e il nome del file da utilizzare come sfondo.
La funzione non consente di impostare la modalità di visualizzazione
dell'immagine quando questa non ha le stesse dimensioni del video; possono
essere affiancate più immagini (tile), l'immagine può essere centrata oppure
"stirata" in modo da occupare tutta l'area visibile (solo se è installato
Plus!).
Puoi modificare il parametro HKEY_CURRENT_USER\Control
Panel\Desktop\TileWallpaper e impostarlo a "0" o "1" per abilitare/disabilitare
l'affiancamento delle immagini.
Puoi inoltre pensare di sopperire alla mancanza del "Plus!" facendo in modo che
il programma stesso provveda al resize della bitmap in base alla risoluzione.
Per fare in modo che le modifiche vengano visualizzate devi settare l'ultimo
parametro di SystemParametersInfo a
SPIF_SENDCHANGE.
---
Valter Minute
min...@fortech.it
 (the reply address of this message is invalid)
---
Are you looking for a good freeware ScreenSaver? Try FOYD!
http://hotfiles.zdnet.com/cgi-bin/texis/swlib/hotfiles/getit.bin?fcode=000PZ0
if you want, I can send you the (free) C++ source code.

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

volevo iniziare a capirci un pň in questo c++ ma avrei un paio di domande da
fare....
che differenza c'č tra c++ e c ??
per iniziare non sapendo nulla da cosa mi conviene partire???
dove trovo un manuale in linea che posso scaricarmi possibilmente in
italiano con il quale posso farmi le basi???
grazie ed a presto!!

 italiano con il quale posso farmi le basi???
Forse "Le Parole della Chimica" alla URL:
http://www.eni.it/italiano/notizie/mediateca/dizionari/chim_a.html
Non e` proprio un manuale, ma di basi ne parla (e anche di acidi).
Alex

per iniziare non sapendo nulla da cosa mi conviene partire???
direi "Kernigan - Ritchie: Programmazione in C" la bibbia dagli autori
stessi del C
difficile ma se lo impari vai da Dio
Altrimenti "Darnel - Margolis: C, Manuale di programmazione" McGraw
Ottimo testo

 differente ma poco...
Poco non direi. Il C e il C++ sono due linguaggi assolutamente diversi
sia come filosofia, sia come supporto a diverse metodologie e sia a
ricchezza e orientamento della libreria standard (e anche come
difficoltà...).
EMG



Newsgroup: it.comp.lang.c++
Titolo: NG it.comp.giochi.sviluppo

salve a tutti!
e' iniziata la fase di votazione per il NG
it.comp.giochi.sviluppo
per votare e' necessario rispondere al msg presente nel NG
it.news.votazioni
grazie a tutti gli interessati (sono necessari 100 voti!!!)
CiAo
revenant
sci...@tiscalinet.it
icq# 36030500

Io voterei volentieri, ma  il messaggio relativo a it.comp.giochi.sviluppo
non c'è!
Ciao, Giuseppe
---------------------------------------------------------------------------
_Guybrush su IRCNet canale #programmazione
ICQ: 42227764
---------------------------------------------------------------------------

 --------------------------------------------------------------------------


 > non c'č!


 wrote in message
7rg732$qbn$1...@aquila.tiscalinet.it...

E Siano i giochi!
Flavio

come no? piu' persone hanno gia' votato... me incluso
Sarà, comunque io continuo a non vedere nessun messaggio riguardante
it.comp.giochi.sviluppo..... Sarà perchè uso il server di Italia Online
(
news.iol.it
)?
Ciao, Giuseppe
---------------------------------------------------------------------------


Newsgroup: it.comp.lang.c++
Titolo: Dopo CloseAllDocuments non posso piu' usare GetDocuments()

Salve,
	dopo le istruzioni:
			AfxGetApp()->HideApplication();
			AfxGetApp()->CloseAllDocuments(FALSE);
	non appena faccio un GetDocuments() mi da errore. Questa istruzione,
	non dovrebbe riaprire il documento?
	Grazie.
	Enrico

	non dovrebbe riaprire il documento?
GetDocuments() ? da dove salta fuori ?
Dopo una CloseAllDocuments() non ci sono piu' documenti aperti, per
cui nessuna GetDocument() potra' funzionare, anzi se la richiami da
una classe derivata da CView anche la classe stessa e' ormai stata
distrutta. Per riaprire un documento dovresti usare la
OpenDocumentFile() di CWinApp o di CDocTemplate.
Gianpaolo Bottin
- Live Long and Prosper -

OpenDocumentFile() di CWinApp o di CDocTemplate.
	Questo lo avevo immaginato. Come devo fare allora per
	aprire il mio documento collegato al DataBase ODBC?
	Infatti OpenDocumentFile() pretende un nome_file,
	io pero' cosa faccio, gli passo il file .mdb. Non so, non
	mi sembra corretto. Provero', ma......
	Bye
	Enrico

	io pero' cosa faccio, gli passo il file .mdb.
e passare NULL ? In questo modo viene creato un documento nuovo,
dovrebbe andare bene, o no ?


dovrebbe andare bene, o no ?
	Purtroppo no. Passando NULL il programma termina forzatamente
	con il classico ".... eseguita operazione non valida.....". Vuole sempre
	e comunque un path. Pero', anche in questo caso, non mi funziona.
	Leggi la mia news: "URGENTE!!!! Dopo il CloseAllDocuments() non posso 
	usare OpenDocumentFile()".
	Grazie.
	Bye
 	     Enrico
Newsgroup: it.comp.lang.c++
Titolo: (extern + struct) errore in compilazione: perche?

ciao
 ragazzi ho il seguente problema:
 ho due file sorgenti, nel primo definisco una struct e alloco RAM
  struct  miaStruct{
   unsigned char pippo;
   int pluto
  } Oggetto;
nel secondo file sorgente vorrei "vedere" Oggetto, per cui scrivo
 extern miaStruct Oggetto;
Il Compilatore mi dice "unknow struct size"
Perche? Cosa devo scrivere affinche' possa accedere ad Oggetto?
ringrazio in anticipo
Enrico

Devi mettere la dichiarazione di miaStruct in un header ,definire
Oggetto solo in un file e dichiararlo extern nell'altro. Naturalmente
entrambi i file devono avere l'header incluso affinche possano vedere la
dichiarazione della struct .


Newsgroup: it.comp.lang.c++
Titolo: Ctor e Dtor chiamati da quale oggetto?

Salve, vorrei sapere come mai ottengo il seguente output:
#include <iostream>
#include <vector>
class A {
 public :
  A() {std::cout << "Ctor" <<  " " << this << std::endl;};
  A(const A&r) {std::cout << "Copy Ctor" <<  " " << this << std::endl;};
  ~A() {std::cout << "Dtor" <<  " " << this << std::endl;};
};
int main() {
 vector<A> z(1);
 return 0;
}
Output
Ctor 0x8affa8 // Chi invoca questo costruttore?
Copy Ctor 0x303c0 // Ok, invocato da z(1)
Dtor 0x8affa8 // Chi invoca questo distruttore (che ovviamente sara'
l'oggetto che ha invocato il costruttore di prima)
Dtor 0x303c0 // Ok, distruzione di z[0] all'uscita del main
Grazie

Ciao,
Il costruttore di vector<T>(int n) fa qualcosa del genere:
instanzia un T() e lo copia n volte.
Puoi dare un'occhiata all'header file dove viene definito il
costruttore
per es. in g++-3 e' stl_vector.h:
  explicit vector(size_type __n)
    : _Base(__n, allocator_type())
    { _M_finish = uninitialized_fill_n(_M_start, __n, _Tp()); }
Saluti, 
Fabio

vector<A> z(1);
corrisponde in effetti a
vector<A> z(1, A());
Il costruttore si crea un istanza "prototipo" e la copia nel vettore il
numero di volte indicato.
Ciao,
Nicola

 Dtor 0x303c0 // Ok, distruzione di z[0] all'uscita del main
Dopo aver giocato un po' con il codice e grazie all'aiuto di quel
potentissimo debugger che e' lo std::cout :P provo a rispondere da me:
quella chiamata e' fatta da un'oggetto temporaneo che vector crea al fine di
poter poi allocare memoria per l'oggetto permanente da inserire (con z(1)).
E' giusto dire che quella chiamata e' fatta dall'allocatore di memoria di
vector? Devo ancora studiare gli allocatori quindi non so se dico bene.
Per quanto riguarda il distruttore e' ovviamente chiamato dal suddetto
oggetto temporaneo.

Newsgroup: it.comp.lang.c++
Titolo: REQ: Libro VC++ 5.0?

Salve a tutti.
                Da pochissimo mi sto avvicinando alla programmazione in
windows95, e desidererei avere consigli su un buon testo (possibilmente
in italiano) riguardante il Visual C++ 5.0.
    Grazie!
            Giovanni

...

Newsgroup: it.comp.lang.c++
Titolo: Variabili membro statiche

Perchè il seguente codice mi da come errore "
[Linker error] undefined reference to `Membro::i'"?
class Membro {
   private:
     static int i;
   public:
     Membro() { i++; }
     static int count() { return i; }
};
int main() {
   Membro m1;
   return 0;
}

Ciao,
Perchè un membro di tipo static della classe "Membro" non è stato definito.
Ovvero dopo la dichiarazione della classe devi :
class Membro {
    private:
      static int i;             // Dichiarazione di i;  
    public:
      Membro() { i++; }
      static int count() { return i; }
};
Membro::i  = 0;                 // definizione del membro i;
 int main() {
    Membro m1;
 
    return 0;
}
Spero di essere stato chiaro.
Buon Lavoro.

 Membro::i  = 0;  // definizione del membro i;
Credo manchi un "int " prima di "Membro::i  = 0;"
SiMoStro

Newsgroup: it.comp.lang.c++
Titolo: Aiutoo Per VISUAL C++ 6.0

salve,
tra le tante domande che vorrei porvi per il "come si usa questo
compilatore",, vorrei cominciare dalla piu' semplice (credo) :
Ho scritto dei programmi in C/C++ per  applicazioni a console
(formato grafico del dos), e vorrei semplicemente sapere come
si fa ad cambiare il colore del testo (sia Foreground che Background) e gli
attributi.
(io ho provato a trovare con l'help la soluzione ma e' come trovare
un ago in un pagliaio )
un sincero ringraziamento
per coloro che mi aiuteranno..........
(da oggi in poi a risolvere i miei problemi)
ciao da
                                       daniele
 
uc...@tin.it


wrote:

Anche io sono un principiante del VC++6. Da quello che ho capito devi
con ClassWizard creare una variabile legata all'oggetto. A seconda del
tipo di oggetto la puoi creare una variabile che modifichi il valore o
i controlli. Per ora non so dirtii di più, spreso ti sia sufficiente.
Ciao Massimo

Newsgroup: it.comp.lang.c++
Titolo: Tutorial uso C++ Builder

Qualcuno sa dove si possa trovare un buon tutorial per il C++ Builder?
In particolare per l'accesso ai Database. Grazie

 In particolare per l'accesso ai Database. Grazie
Questo messaggio non riguarda tanto il linguaggio C++ in se, quanto
piuttosto problematiche che sono caratteristiche di un particolare
compilatore e di un particolare ambiente operativo.
Per questo motivo il messaggio e' off-topic in questo gruppo, di cui
ti prego di leggere il charter; puoi avere maggior fortuna chiedendo
su it.comp.programmare.win32 .
-- 
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: ifstream e new...

Ciao a tutti,
sono un nuovo programmatore in c++ ed avrei bisogno di una mano
riguardo ad un piccolo problema con gli ifstream.
In poche parole ho dichiarato nel mio file .h un ifstream in questa
maniera:
std::ifstream testfile
Adesso però nel file cpp non saprei come inizializzarlo
ho provato con
testfile = new std::ifstream ("a.txt");
ma il gcc si lamenta che non trova nessuna funziona definita in quella
maniera...
Secondo voi cosa sbaglio?
Purtroppo nella miriade di esempi che ho visto in rete ho solo trovato
la dichiarazione di stream all'interno dei metodi, ma a me serve nella
definizione della classe ed ecco che non mi raccapezzo più ;-)
ciao ciao e grazie

 definizione della classe ed ecco che non mi raccapezzo più ;-)
In questo caso la dichiarazione come membro dato va all'interno della
definizione della classe:
class A {
  public:
    A();
  private:
    std::ifstream testfile;
};
Mentre l'inizializzazione va nel costruttore se sai gia' che file
aprire, ad es.:
A::A() : testfile("a.txt") {
}
Oppure in un'altra funzione membro se al momento della costruizione
dell'oggetto il file da aprire non e' ancora noto.
Ciao,
Nicola

 Secondo voi cosa sbaglio?
A differenza di java, in c++ gli oggetti possono non essere dei
reference.
In questo caso, hai definito nel .h testfile come un oggetto
di tipo std::ifstream che verrà allocato e costruito automaticamente
all'avvio dell'applicazione e distrutto alla fine.
Puoi semplicemente risolvere così:
    testfile.open("a.txt"); // apre il file "a.txt"
lasciando il .h così com'è, oppure dichiari testfile un puntatore:
    std::ifstream* testfile;
lasciando il .cpp così com'è aggiungendo però poi, all'uscita
dell'applicazione, la relativa
    delete testfile;
 
perché c++ a differenza di java non può sapere sempre a chi è stata
assegnata una reference e cancellarla automaticamente.
Saluti
-- 
int

 Nicola
ciao nicola
grazie mille per la tua spiegazione.
In effetti arrivo da una specie di "corso java" e negli anni ho usato
altri linguaggi di più alto livello, per cui mi sono completamente
scordato anche i meccanismi più elementari...
grazie ancora
ciao ciao
Newsgroup: it.comp.lang.c++
Titolo: strano errore linker

Ciao ragazzi, sono due ore che cerco di compilare un codice semplicissimo...
Eppure il linker del mio Borland C++ Builder 5 non mi vuole accontentare.
Nelle righe seguenti è riportato il codice ridotto veramente all'osso:
#include <string>
struct my_char_traits: public std::char_traits<char>
{
    // qui ho ereditato i membri di std::char_traits<char>
    // e ne ho sostituiti alcuni, come consigliato nel libro
    // "Exceptional C++" di H. Sutter.
    // lo scopo era di creare un char_traits che non
    // distinguesse tra caratteri minuscoli e maiuscoli.
};
// semplice specializzazione di std::basic_string<>
// in modo che utilizzi my_char_traits
typedef std::basic_string<char, my_char_traits> my_string_type;
int main(int argc, char *argv[])
{
    // il linker dà errore quando voglio istanziare
    // un oggetto di classe my_string_type:
    my_string_type my_string;    // se tolgo questo, l'errore non compare
    return 0;
}
Tutto qui! Ovviamente il codice originale conteneva anche molto altro, ma
l'errore in fase di linking compare solo quando provo ad istanziare la
classe (ho provato anche usando altri costruttori per l'inizializzazione,
tipo my_string("AAA"), nel qual caso gli errori di linking diventano due).
L'errore riportato è il seguente:
[Linker Error] Unresolved external 'std::basic_string<char, my_char_traits,
std::allocator<char> >::__nullref' referenced from [segue percorso del
modulo main.obj]
Ma che è 'sto __nullref? :-)
Provando a compilare con g++ sotto Unix, l'errore non compare (ma compare se
utilizzo altri costruttori al posto di quello di default).
Aiuto! :-)
    Marco

 #include <string>
Con il Borland, devi includere anche string.cc
-- 
Ciao, Marvin

 Con il Borland, devi includere anche string.cc
Grazie, in effetti ero stato tratto in inganno dal fatto che l'header
<string.stl> (richiamato da <string>), includeva già il file string.cc. In
verità, questo avviene solo se è #definito il simbolo
_RWSTD_COMPILE_INSTANTIATE (che a quanto sembra devo definire da me).
Certo che mi dà un po' fastidio il fatto che un normale codice C++ Standard
non funzionerebbe con il BC++ senza aggiungere questa modifica...
Grazie ancora,
Marco
Newsgroup: it.comp.lang.c++
Titolo: Sviluppo programma acquisizione e analisi audio

Salve a tutti sono nuovo su google gruppi, cercavo disperatamente
qualche anima buona che mi aiutasse su un programma che devo fare per
l'università (cerco almeno una dritta iniziale). Lavorando su Linux e
in C/C++ devo acquisire audio dal microfono, analizzarlo (con qualche
funzione FFT penso) per poi metterci su un algoritmo di beat detection
e quindi creare un programma che capisca, avendo più microfoni in una
stanza per esempio, dove grossomodo è posizionata una fonte che emette
un suono.
Praticamente non so da dove iniziare!!!! O meglio, mi è stato detto di
cercare delle librerie per processare l'audio, tra queste ho guardato
ALSA, OSLAP, LADSPA delle quali penso dovrò usare la prima. Ma come
acquisisco l'audio? Da dove parto? C'è una qualche guida o un esempio
di codice di un programma che fa più o meno ciò??? Aiutooooo!!!

 di codice di un programma che fa più o meno ciò??? Aiutooooo!!!
Guarda qui:
http://www5.autistici.org/eazy/paper/grillo.txt
 , questo dovrebbe fare
al caso tuo!


Per l'analisi ti potrebbero essere utili anche le librerie IPP

 al caso tuo!
Ok grazie mille ci darò un'occhiata subito, se per caso conosci altre
fonti informami pure :)
A presto!

 wrote:

Grazie mille,infatti Alsa lo userò per l'acquisizione e mi serviranno
altre librerie per l'analisi! A presto!

[cut]
gsl?
Gnu Scientific Library?
Ok per FFT...e altro
Solo attenzione alla licenza
che mi pare sia  GPL, e non LGPL
Newsgroup: it.comp.lang.c++
Titolo: Copy

ciao ragazzi
ma la funzione copy del pascal come si chiama in c++?
esempio io ho la stringa "ciao"
in pascal dicevo s:=copy('ciao',1,2);
e lui mi copiava 2 caratteri partendo dal primo, cioč "ci".
esiste una cosa simile in c++ e se si come si chiama?
grazie
--
----------------------------------------
Carlo Camarda
chiamac...@tiscalinet.it
]@#[ Anna I Love You ]#@[

Nel file <string.h> sono definite due funzioni:
strcpy (char *d, const char *s);
strncpy (char *d, const char *s, size_t n);
In entrambe le funzioni "d" č la stringa destinazione (quella dove copiare i
dati) e "s" č la stringa sorgente (quella da cui copiare i dati). La
funzione strcpy copia nella stringa destinazione la stringa sorgente fino al
carattere di fine stringa '\0', mentre la strncpy copia al piů "n"
caratteri. Ciao
                                                        Marchisio Stefano

 grazie
Puoi utilizzare le std::string della libreria standard. Ad esempio:
#include <iostream>
#include <string>
using std::string;
using std::cout;
int main() {
    string str1("ciao"), str2;
    str2 = str1.substr(0, 3);
    cout << str1 << endl << str2;
}
substr considera una sottostringa della stringa di cui č il metodo. I due
interi che gli passi sono il primo carattere della sottostringa e la sua
lunghezza.
Ciao,
Cecco

 ha scritto nel messaggio
news:10193886...@picard.net4u.it...

string.h e le funzioni che hai citato fanno parte della libreria standard
del C. In C++ gli header della libreria C vanno inclusi facendo precedere
una 'c' al nome della libreria, e senza specificare il .h (come prevede lo
standard):
#include <cstring>
Ciao,
Cecco

Stefano ha scritto:

vabbene che il C++ include codice C, ma:
1 - l'header e' <cstring>
2 - meglio usare le std::string del C++
hai a disposizione 
il metodo substr()
la funzione copy della lib std
il costruttore a partire da una stringa con carattere iniziale e 
lunghezza

esiste una cosa simile in c++ e se si come si chiama?
#include<string>
std::string a="ciao";
std::string s=a.substr(0,2);
Il Ghenio
---------
// TODO: Place your ass here

Newsgroup: it.comp.lang.c++
Titolo: impostare il djgpp

Per usare la graphics.h devo usare un compilatore sotto DOS, così ho
scaricato il djgpp.
Il comando #include non funziona perchè non sa dove prendere i .h che voglio
includere.
Come faccio a dirgli dove prendere i .h?

 ha scritto nel messaggio
news:97eie2$rlh$1...@lacerta.tiscalinet.it...

dovresti postare su it.comp.programmare.win32 oppure mettere [OT] prima
dell'oggetto del messaggio, altrimenti non ti risponderà mai nessuno..
Byez
Newsgroup: it.comp.lang.c++
Titolo: Aiuto piccola applicazione

Io uso c++ Bulder 3.0, ma a volte scrivo i programmi a "mano"
Le domande che volevo porvi sono queste:
Come faccio a ridurre un'applicazione ad icona nel tray?
E come faccio a fare in modo che si avvii da sola all'avvio di Windows,
senza metterla in esecuzione automatica?
Come posso far rilevare alla mia applicazione il mometo in cui l'utente si
connette e disconnette?
Vi sarei molto grato se rispondeste a i miei quesiti! Ciao e grazie
comunque!

...


 RunService del registry.
No, è RUN, e non è RunService del registro. Grazie comunque

Newsgroup: it.comp.lang.c++
Titolo: Links di C++

Buongiorno a tutti, volevo sapere, se esistono, links dove posso trovare
file Sorgenti, Esempi di Codice, Ocx etc. x C++ Builder come esistono per
Visual Basic
Ringrazio anticipatamente e buon lavoro
bye Roberto

 wrote in message 8onnfn$kkd$1...@nslave2.tin.it...

Newsgroup: it.comp.lang.c++
Titolo: Aprendista c++

ciao a tutti
vorrei imparare a programare in c++!!!
qualcuno mi sa dire dove devo incominciare grazie!!
ciao

Fistys_Darkstar wrote:

da "ciao mondo" ;-)
a parte gli scherzi, in rete ci sono un mare di tutorial, non hai che 
l'imbarazzo della scelta, vai su qualsiasi motore di ricerca (google) e 
scrivi "tutorial c++" :-) oppure comprati un manuale (anzi, se vicino casa 
tua c'e' una biblioteca prendilo in prestito ;-) )

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

Salve,
ho visto in rete che ci sono delle riviste di C++. In particolare ce ne sono
2 che mi sembrano molto interessanti:
C++ Report e
C/C++ User Journal
La domanda č: si trovano in Italia, magari in qualche edicola che tratta
riviste straniere (io abito a Roma :-) ???
Ciao, Lvca



Penso di si', ma non ti converrebbe abbonarti direttamente a quelle
americane??
Davide Marcato.
----------------------------------------------------
| -- Freelance International Consultant
| -- Windows/COM(+) Development & Training
| -- Technical Writer & Speaker
----------------------------------------------------
| -- Email: 
mar...@programmers.net
| -- Web: 
http://www.DavideMarcato.com
 (UPDATED!)
----------------------------------------------------

...


 Ciao, Lvca
Io le faccio arrivare alla mia edicola: pero' costano un po' di piu'...
del resto dell'abbonamento non e' che mi fidi tanto
ciao
	Lorenzo
--
+-----------------------------------------------------+
|  Lorenzo Bettini    ICQ# lbetto, 16080134           |
|  PhD student in Computer Science                    |
|  Florence - Italy                                   |
|  Home Page        : 
http://w3.newnet.it/bettini
     |
|           
http://infostud.dsi.unifi.it/~bettini
     |
|  Mail Home        : 
lorenzo...@penteres.it
     |
|  Mail University  : 
bet...@dsi.unifi.it
            |
|  
http://www.mokabyte.it
       Java on line journal  |
|  
http://rap.dsi.unifi.it/xklaim
    XKlaim language  |
+-----------------------------------------------------+
Newsgroup: it.comp.lang.c++
Titolo: Libreria bitmap

Chi ha una libreria pre leggere immagini bitmap o altri formati da uno C++
non visual ?????
DEMIURGO


Puoi provare con paintlib:
http://user.cs.tu-berlin.de/~uzadow/paintlib/
Supporta alcuni dei formati più diffusi (BMP e JPeg), è distribuita
(gratuitamente) con il codice sorgente.
Sui siti 
http://www.dcs.ed.ac.uk/~mxr/gfx/utils-hi.html
 e 
http://www.wotsit.org/
puoi trovare la documentazione relativa a svariati formati file (grafici e non).
---
Valter Minute
min...@fortech.it
 (the reply address of this message is invalid)
---
Are you looking for a good freeware ScreenSaver? Try FOYD!
http://hotfiles.zdnet.com/cgi-bin/texis/swlib/hotfiles/getit.bin?fcode=000PZ0
if you want, I can send you the (free) C++ source code.

Newsgroup: it.comp.lang.c++
Titolo: [OT] - porting

cosa intendete con il termine "porting" voi programmatori?
grazie.

 cosa intendete con il termine "porting" voi programmatori?
Fare in modo che un sorgente possa essere ricompilato, e poi funzionare
correttamente, con un altro compilatore per lo stesso linguaggio, per un
linguaggio differente, su una piattaforma differente, etc.
EMG
--
EMAG Software Homepage:     
http://www.emagsoftware.it
The EMG's ZX-Spectrum Page: 
http://www.emagsoftware.it/spectrum
The Best of Spectrum Games: 
http://www.emagsoftware.it/tbosg
Newsgroup: it.comp.lang.c++
Titolo: Libro pessimo su visual c++6

e che cavolo!
io mi fidavo della McGraw Hill!
Non so peche' l'ho comprato ma "visual c++ 6" di pappas e murray III e'
da evitare come la morte
costa 80 carte,
in 880 pagine spiega:
programmazione C
programmazione C++
programmazione visual c++
le parti c e c++ sono MISCHIATE!
alla parte visual non sono ancora arrivato ma non oso pensarci (dedica
ben 270 pagine (scritte 
larghe) a tutta la programmazione visual !!!!)
comunque i difetti non finiscono qui, da errori concettuali a typos
enormi ...
ma la cosa che mi ha fatto scrivere sta mail e' un flag di formato di
cout ios::basefield che serve per esprimere i numeri come BASE INTEGRALE
cioe' trasforma l'output in un impasto pieno di fibre!
mi sono stupito che nella riga sotto ci fosse scritto per 
ios::floatfield "virgola mobile" e non, che so, punto galleggiante,
pallina 
svolazzante o altro.
Il tutto e' a pag 341
mi consigliate un libercolo sul visual c++6 decente?
ciao 
Matteo Della Torre


    Due classici:
    Microsoft Press, Programmare Microsoft Windows con MFC (II edizione),
Prosise         140KL
    Microsoft Press, Programmare Microsoft Visual C++ (V edizione),
Kruglinski  Shepard  Wingo    130 KL
Happy programming, Fabio

 wrote in message
8d3v5h$b5o$1...@serv1.iunet.it...


 Matteo Della Torre


...ahi ahi.. Come ti capisco... qualche tempo fa me li sono passati tutti (o
quasi):
[lista nera]
McGraw Hill - Il Manuale Visual C++ - 1° e 2° Volume : (
Puah!
Microsoft Press - Programmare Visual C++ - 5^ Ed. : (
Per la serie il "peso della cultura"... 1200 pp (ma dov'è la cultura?)
Quelli che invece ti consiglio (daltronde, se sono riusciti insegnare a un
"zuccone" come me la programmazione Win32 e MFC, qualche merito l'hanno! eh
eh)
SAMS Publishing (APOGEO) Guida Completa Visual C++ 6 - Aut. Chapman
IDG Books (APOGEO) I Segreti della Programmazione di Windows 98 - Aut.
Walnum
SAMS Publishing (APOGEO) Programmare in Windows 98/NT - Aut. Toth
Bye!
Mau : )

 svolazzante o altro.
le traduzioni hanno sempre delle coglionerie, cerco di evitarle come le
cacche sul marciapiede.
Ad esempio su un libro di Sistemi II c'era un esempio di albero binario
per l'ordinamento alfabetico di un insieme di stringhe:
In inglese:
                    ( "Dog" )
                     /     \
                    /       \
                 ("Cat")   ("Elephant")
(da cui: "cat" < "dog" < "elephant", OK)
In Italiano:
                   ( "Cane" )
                     /    \
                    /      \
               ("Gatto")  ("Elefante")
(da cui: "cervello revisore" < "cervello traduttore" < 0)
Alessio
-- 
Alessio Gordini
Comm2000 Spa
Via Leopardi, 9
Milano
Italy

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

 
bos...@iperv.it
Usa ALT+123  {
    ALT+125  }


ALT+123 (aperta)
ALT+125 (chiusa)
Bye
Enrico
Newsgroup: it.comp.lang.c++
Titolo: CERCO VISUALIZZATORE PERCORSI UTENSILI/MODELLI MATEMATICI

CIAO
Sto sviluppando un software in cui dovrei includere la visualizzazione di
percorsi utensili e modelli matematici, ma non voglio svilupparli ex-novo,
potete indicarmi delle librerie, risorse, etc..
GRAZIE

Ehi, tre messaggi uguali con titolo in maiuscolo!!!
Non siamo scemi e sappiamo leggere. 
E

Non siamo scemi e sappiamo leggere.
Peraltro anche fuori tema.

 E

 wrote in message
news:7r8uml$6ie$1...@serv1.iunet.it...


 TUTTI E TRE I MESSAGGI.
Un consiglio: butta via Outlook.
EMG

...

Il solito anticonformista... la colpa non è di outlook, sono quelli della
tiscali che hanno avuto problemi a causa di svariati upgrade sui server mail
e sistemi web mail...
Outlook si è limitato a riferire l'erroreche ha dato il server.
quindi viva "Winzozz" e la "Micro$oft" per la quale un giorno lavorerò

  
PGP 2.6.3i key available
--------------------

Newsgroup: it.comp.lang.c++
Titolo: differenza tra namespace e class

in realtà la domanda è: che differenza c'è tra una variabile, una
costante o una funzione dichiarata in un namespace e la stessa
variabile, costante o funzione dichiarata come membro static di una
class?
posso considerare esattamente identici i due tipi di entità? e se sì,
a che scopo sono stati introdotti i namespace? non bastava creare
classi con tutti membri static?
-- 
]\/[ad]\/[age (
www.mindreamz.net
)
"Un Maestro insegue semplicemente la sua visione di Eccellenza in
qualunque cosa sta facendo e lascia agli altri decidere se sta 
lavorando o giocando. A lui sembra sempre di fare entrambe." - Anonimo

 classi con tutti membri static?
hanno senso i package di java? si, hanno senso, così come hanno senso
i namespace..
all'interno di un programma tu puoi avere la necessità di avere nomi
identici
per tipi identici, ma che comunque concettualmente appartengono a domini
differenti.. pensa un pò allo UserName usato per effettuare il login ...
nel mio programma ho la variabile UserName che identifica l'utente, ed allo
stesso tempo ho una variabile UserName per l'autenticazione sul database
server..
entrambi hanno lo stesso nome, non ha senso creare una classe, perchè in
tutto
il ciclo di vita del programma vi può essere un solo Username utente e uno
solo
per l'uso del database... il che mi porta ad avere un namespace User dove
tengo
tutte le informazioni dell'utente, ed un Database dove tengo tutte quelle
informazioni
per l'accesso al database... potrei benissimo avere 2 classi potresti
pensare tu..
ma per quale motivo dovrei avere una classe che faccia un sacco di cose
quali importare
la configurazione, aggiornare la configurazione e tutto quanto il resto, una
x il db e una x l'user?
io la penso così
antonio
p.s. devo ammettere che alla fine mi sono chiesto anche io.. ma a che
servono??? :)

 classi con tutti membri static?
La differenza sostanziale e' che i namespace sono estensibili, ovvero
non e' necessario che i loro elementi siano dichiarati tutti
all'interno di un singolo costrutto, come e' invece per i membri di
una classe.
Ciao,
Nicola
Newsgroup: it.comp.lang.c++
Titolo: E' corretto che il GCC si comporti cosi'?

Pensavo che lo scope di un oggetto creato in un if fossero le {} che
racchiundo l'if stesso, in realta' e' definito anche in tutti i blocchi 
else ma non a livello della funzione, costruendo i blocchi di cut&paste
puo' essere un disastro :)
void func(Basetype *base)
{
	if (TypeA *a = dynamic_cast<TypeA *>(base)) {
		DoSomethingWith(a);
	}
	else if (TypeB *b = dynamic_cast<TypeB *>(base)) {
		DoSomethingElseWith(a);
/*
  * Mi aspetterei a outofscope qui invece il programam
  * va avanti con a = NULL
  */
	}
// Se metto la riga seguente ottengo un errore compile-time
// a = NULL;
}

 puo' essere un disastro :)
Onestamente, non avevo mai visto un uso cosi' malsano ( :) ) degli 
assegnamenti in un if.
Non capisco pero' il tuo dubbio: Se la vita della variabile e' il caso true 
dell'if, perche' non dovrebbe essere anche il caso false?
Se riscrivi il tuo codice esplicitando le parentesi:
void func(Basetype *base)
{
  if (TypeA *a = dynamic_cast<TypeA *>(base)) {
    // a e' viva qui
    DoSomethingWith(a);
  } else {
    // a e' viva qui
    if (TypeB *b = dynamic_cast<TypeB *>(base)) {
      // e quindi anche qui.
      DoSomethingElseWith(a);
    }
  }
}
e' piu' chiaro?
Onestamente non ho idea se sia standard la dichiarazione di una variabile 
nella condizione dell'if, ma non sono un grande esperto di conformita'.
Pero' piu' di un compilatore, credo, risponderebbe con un warning; lint, 
probabilmente, con una bestemmia.
--
Marco 

 else ma non a livello della funzione,
  [6.4] [stmt.select]
  3 A name introduced by a declaration in a condition (either introduced 
    by the type-specifier-seq or the declarator of the condition) is in 
    scope from its point of declaration until the end of the substatements
    controlled by the condition. If the name is re-declared in the 
    outermost block of a substatement controlled by the condition, the
    declaration that re-declares the name is ill-formed. [Example:
      if (int x = f()) {
                 int x; // ill-formed, redeclaration of x
      }
      else {
                 int x; // ill-formed, redeclaration of x
      }
   --end example]
MM

 }
--
James Kanze (Gabi Software)            email: 
james...@gmail.com
Conseils en informatique orientée objet/
                   Beratung in objektorientierter Datenverarbeitung
9 place Sémard, 78210 St.-Cyr-l'École, France, 
+33 (0)1 30 23 00 34