mii-community/UsenetArchiveIT-conversations huggingface dataset:
Newsgroup: it.comp.lang.c++
Titolo: CERCO SOCI DI PROGRAMMAZIONE

Ho 18 anno devo andare in 5^ superiore, sono un discreto programmatore.
Cerco qualcuno che sappia programmare ma che sia alle prime armi con il C++
e che magari tra un bagno in piscina e una serata fuori abbia l'hobby della
programmazione :-)
Quindi a chiunque vada di parlare di C++, e magari fare un programma in
"società" mi scriva senza problemi!
Spero scriviate, o rischio di atrofizzarmi quest'estate! :)
Teotti Enrico

Ciao Enrico
Io sono Daniele ed ho 20 anni. Sarei interessato alla tua proposta di fare "programmi" in società.
Ho scritto qualche programmino in C e C++.
Che cosa intendi per "discreto programmatore" ?
Se sei interessato rispondi
Tanti Saluti
Gallucci Daniele
Enrico "Rainbow" Teotti ha scritto nel messaggio ...




"societą" mi scriva senza problemi!


Newsgroup: it.comp.lang.c++
Titolo: Cerco prog. di fatturazione con colonne per lo sconto

Cerco un programma di fatturazione facile che abbia queste 2 semplici
funzioni:
- Inserzione veloce NOME (intestazione) dall' ANAGRAFICA
- 2 colonne (cumulative) di SCONTO visibili in fattura.
anche senza la gestione magazzino.
Diego

 ha scritto nel messaggio
news:acof6p$4jg$3...@lacerta.tiscalinet.it...

Cerco programma per farmi vincere almeno 1 milione di euro a qualunque
gioco.
Condizione minime indispensabili:
1) Che avvenga subito!
2) Che qualcuno, ovviamente gratis, me lo scriva, installi, addestri all'uso
e assista.

 e assista.
Se mi dai 2 milioni di euro, ci penso io :D
ciao
--
Luigi
E-mail: 
cybe...@email.it
ICQ #46240443

 ha scritto nel messaggio
news:acof6p$4jg$3...@lacerta.tiscalinet.it...

Non ho mica capito cos'è che vuoi! Spiegati meglio :)
PS: Non ho capito nemmeno una cosa: al tizio che ti fa il programmino, ne
viene in tasca qualcosa?
PPS: Qui cmq sei OT, e non crosspostare
Dome

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

Cosa significa  in fscanf(fdati,"%s %*[^\n]",....)
la scrittura %*[^\n] ?
Grazie.

 la scrittura %*[^\n] ?
(Questo e' C; i followups sono ridiretti su comp.lang.c)
("man 3 fscanf", sotto un qualunque Unix, spiega esaurientemente
tutto.  Sotto sistemi meno evoluti, deve esserci comunque una
documentazione.  Ma, per quel che vale ...)
1) il blank tra %s e %* e' significativo; dice di saltare tutti i
   blanks che si incontrano dopo il token che corrisponde a %s (una
   sequenza di caratteri non contenenti whitespace)
2) %*[^\n] significa "ignora tutti i caratteri fino al prossimo
   newline"; infatti:
   - %   introduce una specifica di formato
   - *   dice che il token convertito secondo la specifica deve essere 
         ignorato
   - []  dice che il token da convertire e' una sequenza non vuota di
         caratteri, letti senza la usuale soppressione di
         whitespace ... 
   - ^\n ... e che NON siano un newline.
                Hth...
-- 
Maurizio Loreti                         
http://www.pd.infn.it/~loreti/mlo.html
Dept. of Physics, Univ. of Padova, Italy          loreti at pd dot infn dot it
Newsgroup: it.comp.lang.c++
Titolo: Definizioni di costanti, enum...

Un problema logistico: voglio definire un tot di costanti (e.g.: const int 
AAA = 42, const int BBB = 137, ...; prima erano definite con dei #define in 
un .h (sto traducendo il programma dal c) ) e di enum che poi verranno usate 
in varie parti del programma (in diversi .cpp file). Qual e' il posto 
migliore / il modo migliore di dichiararle?
Thx,
Pleg 

Pleg ha scritto:

mettile in un file .h
E.

> mettile in un file .h
Ottimo, e' li' che sono ora, ma mi era venuto un dubbio :)
Thx,
Pleg
Newsgroup: it.comp.lang.c++
Titolo: DELPHI VCL 16 Bit

Chiunque abbia informazioni circa la reperibilità della libreria VCL 16 Bit
di DELPHI mi faccia cortesemente sapere come e dove trovarla.
Comunicate al seguente indirizzo:
E-mail:    
ddip...@pcware.it

...

Non capisco:
1) Qui si parla di c++
2) La libreria di Delphi (la complib.dcl?) la trovi benissimo nel cd nella
directory RUNIMAGE
3) Vuoi forse i sorgenti? In tal caso devi possedere la Client/Server
Filippo Neri

Newsgroup: it.comp.lang.c++
Titolo: linking e compilazione

Salve ho installato Visual c++ 6.0, e un programmino in c++, che sulla
versione c++ 5.02 della Borland, funzionava perfettamente ora non mi
funziona piu', nel senso che, la compilazione va a buon fine e mi da
questo messaggio:
--------------------Configuration: prova - Win32
Debug--------------------
Compiling...
Skipping... (no relevant changes detected)
bo.cpp
prova.obj - 0 error(s), 0 warning(s)
il problema e' che non mi fa il link e mi da questo errore:
--------------------Configuration: prova - Win32
Debug--------------------
Linking...
bo.obj : error LNK2001: unresolved external symbol _gethostbyname@4
bo.obj : error LNK2001: unresolved external symbol _inet_addr@4
bo.obj : error LNK2001: unresolved external symbol _send@16
bo.obj : error LNK2001: unresolved external symbol _recv@16
bo.obj : error LNK2001: unresolved external symbol _connect@12
bo.obj : error LNK2001: unresolved external symbol _htons@4
bo.obj : error LNK2001: unresolved external symbol _socket@12
bo.obj : error LNK2001: unresolved external symbol _WSAStartup@8
Debug/bo.exe : fatal error LNK1120: 8 unresolved externals
Error executing link.exe.
prova.exe - 9 error(s), 0 warning(s)
Cosa e'? che devo fare per risolvere il problema?
Grazie

 Cosa e'? che devo fare per risolvere il problema?
 
http://groups.google.com/groups?hl=it&th=2d7b3a84282ab7c1
Max

 Max
Grazie Max. Sei grande ho risolto.
Alla prossima

Max sto cercando di studiare il codice di netcat mi potresti dici
quali librerie devo includere in Project->Settings->Link affinchè non
mi dia questi errori di link.
--------------------Configuration: Netcat - Win32
Debug--------------------
Linking...
Netcat.obj : error LNK2001: unresolved external symbol _optind
Netcat.obj : error LNK2001: unresolved external symbol _optarg
Netcat.obj : error LNK2001: unresolved external symbol _getopt
Debug/Netcat.exe : fatal error LNK1120: 3 unresolved externals
Error executing link.exe.
Netcat.exe - 4 error(s), 0 warning(s)
Ringrazio anticipatamente la vostra disponibilita'.

 mi dia questi errori di link.
Non ho idea. Quegli identificatori sono parte di un'API POSIX per il parsing
della riga degli argomenti. Tale API è normalmente disponibile su sistemi
Unix. Sotto Win32 esisteranno, immagino, delle implementazioni. Sicuramente
è disponibile in ambiente Cygwin. Google ti saprà aiutare più di quanto
possa fare io. (Oltretutto, la cosa è ormai totalmente OT in questo
newsgroup.)
Max

Newsgroup: it.comp.lang.c++
Titolo: Installazione c++

Mia sorella usa a scuola il c++, mi ha chiesto di cercare l'installazione,
ma ho trovato solo quella del visual c++. Qualcuno mi puo dire dove
scaricare l'installazione del c++ non visual?
Grazie
--
Salvatore
e-mail : 
sme...@tiscalinet.it
 
salvi...@infinito.it

 ha scritto nel messaggio
news:8vdt72$dj4$1...@lacerta.tiscalinet.it...


Newsgroup: it.comp.lang.c++
Titolo: Gui web (php/html) per software c++

Ciao,
ho la necessità di dotare il mio programma di un'interfaccia web per la 
configurazione/monitorizzazione da remoto, e stavo pensando di creare 
una gui web tipo quelle dei sw p2p (amule/transmission/etc...).
Non riesco a trovare nulla a riguardo [keyword: gui html php c++], mi 
sapete dare qualche dritta?
 
 
TestOne

per esempio wt
 
http://www.webtoolkit.eu/wt
 

 
http://www.webtoolkit.eu/wt
 
 
Interessante, peccato che per uso commerciale sia a pagamento :(
 
Testone


Dipende da come è fatto il tuo software.
Ci sono diversi metodi che conosco:
 
1) Il software si può comandare direttamente da riga di comando, nel qual
   caso la GUI è banale.
2) Il software tramite semplici segnali (POSIX) o tramite messaggi TCP/IP.
   Anche qui è abbastanza banale, dato che le due componenti sono
   nettamente separate
3) Il software fornisce un API C/C++, e la GUI può quindi essere
   implementata in un linguaggio dinamico (come Python, non so PHP) che
   esegue varie chiamate a questa API.
   Ad esempio credo che la GUI di Deluge (una implementazione del
   protocollo torrent) funzioni così.
 
 
Ciao  Manlio
Newsgroup: it.comp.lang.c++
Titolo: D'oh!!!

Ciao a chiunque abbia voglia di leggere la mia mail.....:)
Domanda:
Come faccio in VC++ ad includere delle mie librerie (precedentemente fatte
in C)???
- io metto gli #include dove necessario
- aggiungo il file .C al progetto
- compilo e.......MANCA ANCORA QUALCOSA PER FAR FELICE IL LINKER (che mi
dice):   ;(
error LNK2001: unresolved external symbol "char * __cdecl DES_Crypt(char
*,char *)" (?DES_Crypt@@YAPADPAD0@Z)
NB: char *DES_Crypt(char *s, char *k); è da me definita nella libreria......
-=STEO=-

 *,char *)" (?DES_Crypt@@YAPADPAD0@Z)
Dovresti modificare il .h mettendo qualcosa del tipo:
#ifdef _cplusplus
extern "C"{
#endif
...    // qui metti tutto l'header originale
#ifdef _cplusplus
}
#endif

Se non ricordo male:
extern "C" {
  #include <tualib.h>
};
<codice c++>
Paolo
-----------------------------------------------
  Paolo Marotta
  Computer Science, University of Pisa
  home:   
http://www.cli.di.unipi.it/~marotta
-----------------------------------------------

 NB: char *DES_Crypt(char *s, char *k); è da me definita nella
libreria......
Il tuo file di header deve definire queste funzioni come extern "C", se vuoi
poterle chiamare da C++; e` chiaro che non lo hai fatto (dalla diagnostica
che riferisci).
Puoi, ad esempio, usare:
extern "C" {
#include "iltuofile.h"
};
Alex
Newsgroup: it.comp.lang.c++
Titolo: (nessun oggetto)

http://quequero.org/linux/tute/inline.htm
-- 
Kleidemos
Un computer a un altro quando si incontrano:
"Ciao, come ti boota oggi???"

 
http://quequero.org/linux/tute/inline.htm
Ops volevo rispondere a Alberto Mazzocato

Newsgroup: it.comp.lang.c++
Titolo: sulle label

salve,
ho un problema stupido, premetto che sono un neofita, il mio problema
riguarda il goto:
io ho creato una label
fine: return 0;
tale che se è verificata una condizione
if ((riga1 == 0)||(colonna1 == 0)) goto fine;
termina l'esecuzione del programma.
il mio compilatore mi dice
" label `fine' used before containing binding contour"
che significa?dove sbaglio?
grazie.
ps è sbagliato immettere nel programma più "return 0;" cioè è scorretto
sostituire quel "goto fine;" con "return 0;" (in questo modo metto nel
programma più punti di uscita)
grazie ancora
----------------------------------------------------------------------------
----------------------------------------------------------------
"Evidentemente Euclide non dava molta importanza agli aspetti pratici della
sua disciplina: infatti si racconta che, quando un allievo gli chiese che
utilità avesse lo studio della geometria, Euclide si rivolse al suo schiavo
dicendogli di dare all'allievo una monetina << perchè ha bisogno di trarre
guadagno da ciò che impara>>"

 programma piů punti di uscita)
Non solo non e' sbagliato, ma e' preferibile all'uso del goto. Tieni
conto pero' che in molti casi il codice risulta strutturato in modo piu'
pulito se eviti di usare uscite multiple.
Ciao,
Nicola
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 che significa?dove sbaglio?
Non sono un fan del goto. Ma se spedisci un po' di codice l'errore
si trova.
Se poi vuoi tenerti tutto per te confidando sulle doti di veggenza del
NG... :-)
C:\>iao Angelo
P.S. Non e' che stai tentando di uscire dallo scope delle funzione con
     il goto, per caso?


 pulito se eviti di usare uscite multiple.
Beh, c'e' almeno un caso in cui il goto non e' deprecato: per uscire da N 
cicli annidati, per cui puo' diventare troppo complesso o troppo costoso 
farlo con delle semplici condizioni.
-- 
Mox
"Trust the programmer."
"Don't prevent the programmer from doing what needs to be done."
"Keep the language small and simple."
"Provide only one way to do an operation."

 farlo con delle semplici condizioni.
Anche se una simile situazione dovrebbe costituire un campanello
d'allarme a proposito dell'esagerata complessita' della funzione in
questione.


 pulito se eviti di usare uscite multiple.
allora come posso ovviare al problema? quale potrebbe essere un'altra valida
alternativa?
grazie
saluti

 alternativa?
Non esiste un'alternativa universale. Dipende da cosa devi fare.


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

Qualcuno di voi ha esperienza con le suddette librerie?

Qualcuno di voi ha esperienza con le suddette librerie?
ciao francesco,
prova a fare una domanda più specifica, la libreria
suppongo la conoscano più o meno tutti... 
sbirish.
Newsgroup: it.comp.lang.c++
Titolo: altro dubbio

ho incontrato un'altra cosa che mi sembra strana ma che per la totalità di
voi non lo è:
p=new int ;
significa che p contiene un indirizzo
nodo *p=new nodo
* significa "il valore del dato puntato" ma la new assegna un indirizzo.
Secondo me è corretto fare
nodo p=new nodo
Mi spiegate per piacere cosa si intende con la prima scrittura?

 ha
scritto:

per la prima scrittura? p = new int?
allora la scrittura corretta dipende se si definisce e insieme assegna un
valore ad un puntatore!!
ammettiamo la seguente
int *p;
p = new int; // corretto
*p = new int; // SCORRETTO ma funzionante!! (si memorizza l'indirizzo
                                             come un valore int...)
int p = new int; // SCORRETTO
int *p = new int; // corretto
come vedi int *p = new int è corretto perchè definisce che p è un
puntatore e gli assegna l'indirizzo di new int. Al contrario di quello
che tu possa pensare non è un deindirizzamento
spero di averti chiarito le idee
-- 
Wave++, member of EventOrizon software
http://members.xoom.it/wavexx

 Mi spiegate per piacere cosa si intende con la prima scrittura?
Idee confuse, eh?  "nodo *p" dichiara "p" come puntatore a "nodo".  Se
ti e' piu' facile per ricordarne il significato, pensa che la
dichiarazione significa che "*p" e' di tipo "nodo".  La seconda parte
dell'intruzione inizializza "p", come gia' sai.
-- 
Maurizio Loreti                         
http://www.pd.infn.it/~loreti/mlo.html
Univ. of Padova, Dept. of Physics - Padova, Italy            
lor...@pd.infn.it

nodo p=new nodo
No, perche` p in questo caso e` una istanza di nodo, non un puntatore.
New costruisce un oggetto di tipo nodo nello heap e ne restituisce
l'indirizzo.
Paolo
--------------------------------------------------
  Paolo Marotta
  Computer Science, University of Pisa
  home:   
http://www.cli.di.unipi.it/~marotta
--------------------------------------------------

 
-- 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   Remove ICE from e-Mail
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Newsgroup: it.comp.lang.c++
Titolo: perche' int x=(int) (2.3*100) restituisce 229?

Anche a voi risulta che il codice
int x=(int) (2.3*100)
assegni ad x il valore 229?   (uso VC++ 5.0)
Perche?         
 
--
Posted from 
ro...@dns.mi.flashnet.it
 [194.247.164.129]
via Mailgate.ORG Server - 
http://www.mailgate.org

                                          
Sembra che dipenda dalla conversione da double a int. Infatti in float il
risultato e' giusto:
  {
     float f=2.3*100;
     double d=2.3*100;
     printf("%lf = %d\n", d, (int)d);	==> 230.0 = 229  !!!!!!!
     printf("%f = %d\n", f, (int)f);	==> 230.0 = 230  OK!
  }
Lo GNU C forza la precisione a 53 bits (double precision), sia quando
carica un float che un double. Probabilmente questo causa un arrotondamento
nel formato interno dell'FPU. La conversione del registro interno FPU in
intero dovrebbe essere uguale in entrambi i casi.
Curioso il fatto che se scrivo 'doudle d=2.3*10*10' il risultato e'
corretto (almeno con lo  GNU C)!

Perche?         
Gli unici numeri frazionari rappresentabili esattamente
in base 2 sono quelli che corrispondono a frazioni il
cui denominatore e' una potenza di 2 (cosi` come gli
unici rappresentabili esattamente in base 10 sono quelli
corrispondenti a frazioni il cui denominatore e' una
potenza di 10).
2.3 = 23/10 non corrisponde a una frazione il cui
denominatore e' una potenza di 2.
Quindi, non e' rappresentabile esattamente in base 2.
La rappresentazione in base 2 corrispondera` a
qualcosa del tipo 2.299999 per un certo numero
di "9", seguito da cifre apparentemente casuali ma
in realta` tali da rendere il denominatore della
corrispondente frazione una potenza di 2.
Moltiplicare questo per 100 (implicitamente
trasformato in 100.0) ti dara` quindi qualcosa
del tipo 229.9999 eccetera.
Il cast (int) _ordina_ al compilatore di troncare
tutta la parte frazionaria del numero.
Troncando la parte frazionaria di 229.99999,
si ottiene 229.
Se hai un numero frazionario, e vuoi, NON
troncarlo, bensi` *arrotondarlo*, sommagli
0.5 (se positivo; -0.5 se negativo) prima del
cast a int, o algoritmi a cio' equivalenti.
Alex
Newsgroup: it.comp.lang.c++
Titolo: C++ e Portatile

ho due problemi:
1- Mi servirebbe un compilatore c++
2- Come faccio con il portatile ad inserire i simboli
    "tilde" e "parentesi graffe" se non sono direttamente presenti sulla
tastiera
netf...@iol.it

 1- Mi servirebbe un compilatore c++
Prendi il DJGPP per DOS all'indirizzo 
http://www.delorie.com/djgpp
.
EMG

tastiera
abilitando il tastierino numerico, quindi:
Alt + 1 2 6 = ~
Alt + 1 2 3 = {
Alt + 1 2 5 = }
Ciao,
Gianfranco

tastiera
Anche questa non si e' mai sentita ^_^
www.deja.com
 (piu' che altro se non dici in che ambiente ti serve... 
altgr+7 {
altgr+0 }
altgr+ì ~
Ma tutto dipende dal tuo *inputrc e dalla tua mappa (io ne uso una
personalizzata) (nota: uso linux ^_^)
--
  ==o-   | Running | HomePage 
http://pinguin.linuxbox.com
   /\\-\ |  Linux  | 1st email: r.salmaso (at) 
flashnet.it
 0-\_/-0 |   2.2   | 2nd email: pinguin (at) 
pinguin.linuxbox.com

 tastiera
Il C permetteva delle variazioni, per cui potevi usare altre notazioni per
alcuni caratteri:
??=    al posto di    #
??(    al posto di
??/    al posto di    \
??)     al posto di    ]
??'     al posto di    ^
??<    al posto di
??!     al posto di    |
??>    al posto di    }
??-     al posto di    ~
Non saprei se questo si è mantenuto in C++, ma propenderei per il si (basta
provare)
--
Alessandro Monti

Newsgroup: it.comp.lang.c++
Titolo: REQ: Aiutatemi con i puntatori!

Mi capita sempre più spesso di incontrare la seguente istruzione:
int **p;
Che cosa significa?
E' forse una moltiplicazione tra puntatori?
Vi prego rispondetemi subito!
GRAZIE!


int p;                  // p e' un intero
int *p;                // p e' un puntatore ad un intero
int **p;              // p e' un puntatore ad un puntatore ad un intero
Antonio Donatiello

ciao,
int **p significa puntatore a puntatore a intero.
Ad es potrebbe essere l'entry point di un vettore di
puntatori a interi.
ciao
--
Tiberio Grasso


~~~~~~~~~~~~~~~~~
MAINARDI Gianfranco
Burago di Molgora (MI)
Italia
Email : 
main...@rete039.it
ICQ# number : 31334916
~~~~~~~~~~~~~~~~~

 GRAZIE!
E' un puntatore ad un puntatore ad interi.
Molto probabilmente e' utilizzato come nome di un array di puntatori
ad interi, puo' esser utilizzato in alcuni casi al posto di
int* p[k].
-- 
Zack
Stefano Zacchiroli
zacc...@cs.unibo.it
za...@comune.budrio.bo.it
ICQ# 33538863
"Never understimate the dark side"
Newsgroup: it.comp.lang.c++
Titolo: Bitmaps sui pulsanti

Hi !
Sto programmando in VC++ 6.0 Microsoft , vorrei far comparire delle piccole
immagini al di sopra dei pulsanti ; non mi riesce !!!
Qualcuno mi puņ aiutare ???!!
Grazie !!!

 Qualcuno mi può aiutare ???!!
Si`, purche` tu ponga la domanda nel gruppo giusto,
it.comp.programmare.win32.
Alex
Newsgroup: it.comp.lang.c++
Titolo: Dove sono le FAQ?

Salve,
potete indicarmi dove sono le FAQ di questo newsgroup?
Infine, potete segnalarmi qualche tutorial on-line sul C++ in italiano? 
Grazie.
		Luigi Forlano

Ciao,
    le FAQ del NG le trovi al momento solo sul sito di Roberto Gerola
http://space.tin.it/computer/rgerola
  il quale ha acconsentito a metterle
anche su 
www.programmazione.it
 (che tra poco spero riusciremo ad aprire).
Per il tutorial in Italiano sul C++ trovi quello di Paolo Marotta sul mio
vecchio sito (che tra poco chiudo) 
http://welcome.to/C++Warriors
 nell'area
Tutorial č on-line mentre nell'area Download c'e' lo zip da scaricare.
A presto :-)
Marco Abis
http://www.programmazione.it
  il sito Italiano di riferimento per IT
ab...@programmazione.it


http://space.tin.it/computer/rgerola
Con qualche avvertenza, come specificato sulla pagina :
- nessun riferimento a compilatori e/o ambienti di sviluppo commerciali
  perche` altrimenti diventa un gran minestrone (ci sono gia` dei NG
  dedicati)
- non trovate domande/risposte del tipo : come faccio a far questo
  sul tal sistema operativo
- le FAQs raccolte fanno riferimento solo al C++ standard
- links di vario tipo non entrano nelle FAQs ma vengono catalogati nelle
  altre sezioni
Approfitto del post per porre una domanda :
Che fine ha fatto Alex Martelli ? Qualcuno sa dove e` finito ?
E` un vero peccato che non intervenga piu`.
Saluti
-- 
Roberto Gerola
Email: 
robert...@penguinpowered.com
WWW: 
http://www.penguinpowered.com/~The_Cpp_Compass

 E` un vero peccato che non intervenga piu`.
I suoi succulenti interventi mancano a tutti noi... :-(
EMG

Ciao,
    l'ho sentito via mail un po' di tempo fa, è troppo occupato :-(


Newsgroup: it.comp.lang.c++
Titolo: !!!!!!!CERCASI LAVORO!!!!!!!

Per informazioni 
ano...@freemail.it


ne avessero azzeccato uno di newsgroup giusto...
sarà uno scherzo :-)))
                                 --- KVOCHUR---
------------------------------------------------------------------------
                           tHe BeSt Su-27 PiLoT
------------------------------------------------------------------------
..actually only a jinxed engineering student        ;-(
but also a  paraglider pilot...NEVER SAY DIE!  :-)
------------------------------------------------------------------------
Newsgroup: it.comp.lang.c++
Titolo: IMPLEMENTAZIONE IN C



 Grazie per l'aiuto!
De nada ...
-- 
Maurizio Loreti                      
http://wwwcdf.pd.infn.it/~loreti/mlo.html
Un. of Padova, Dept. of Physics - Padova, Italy          
lor...@padova.infn.it

                        end;
Il grosso-modo-equivalente del Pascal "record" e`, in C, la "struct":
    typedef struct {
        char parola1;
        char parola2;
    } vocabolo;
Questo definisce un tipo chiamato "vocabolo", con due campi,
parola1 e parola2, ciascuno composto da un singolo carattere.
Dichiarerai variabili di questo tipo con sintassi simile a:
    vocabolo pippo, pluto;
e accederai ai loro campi con l'operatore "punto", sia in
lettura, sia in scrittura:
    pippo.parola1 = pluto.parola2;
Se disporrai invece di un PUNTATORE alla tua struttura:
    vocabolo *punta;
    punta = &pluto;    /* operatore indirizzo-di */
allora userai per l'accesso ai campi l'operatore "freccia":
 
    punta->parola1 = pippo.parola2;
    pippo.parola1 = punta->parola2;
Per allocare dinamicamente variabili di questo tipo, dovrai
usare la funzione standard C malloc, e per liberarle la
corrispondente funzione standard C free.
Alex

Newsgroup: it.comp.lang.c++
Titolo: Manuale di Stile

Dove posso trovare il libro "C++ Manuale di Stile"  di Carlo Pescio?

 Dove posso trovare il libro "C++ Manuale di Stile"  di Carlo Pescio?
www.infomedia.it
Credo anche nelle librerie (quelle vere, non quelle dei compilatori)
--
Alessandro Monti

Dove posso trovare il libro "C++ Manuale di Stile"  di Carlo Pescio?
Va richiesto direttamente alle edizioni infomedia (quelle di
computer programming).
Li puoi contattare all'e-mail 
bo...@infomedia.it
Paolo
-----------------------------------------------------------------
  Paolo Marotta
  Computer Science, University of Pisa
  home:   
http://www.cli.di.unipi.it/~marotta
-----------------------------------------------------------------


Non so se per te è molto comodo, io comunque l'ho trovato l'anno scorso allo
SMAU ad un prezzo molto inferiore...
Ciao
Daniele.
Newsgroup: it.comp.lang.c++
Titolo: Ancora problemi con l'ereditarieta' :/

Salve, devo dire che questo C++ e' bello quanto difficile :/
Ho un problema: voglio creare una classe ereditando attributi da
altre due. Il problema e' che una delle 2 classi "Base" deve poter
accedere ad un membro dell'altra per funzionare come voglio io.
Vi posto le due classi e mi spiego meglio :)
class ModalDialog{
public:
    bool create(HINSTANCE,HWND,int);
    bool create(HINSTANCE,HWND,LPCTSTR);
protected:
 HWND hParentWindow;
 HWND hModalDialog;        // Questo e' il membro incriminato
 HINSTANCE hCurrInstance;
    // Altre cose che non interesano :)
private:
    // Altre cose che non interessano :)
};
class Browseble{
    public:
        ~Browseble();
    protected:
         Browseble(); // Il costruttore e' protetto perche' non ha senso un'istanza dista' classe
         HWND hModalDialog; // Questo e' il membro incriminato
         LPSTR BrowseDir(LPSTR);
};
Adesso, il metodo BrowseDir di Browsable per funzionare ha bisogno che
hModalDialog sia = a hModalDialog dell'altra classe.
Io vorrei far si che, quando si ereditano le due classi, hModalDialog di una
sia uguale (non una copia, proprio la stessa cosa!!!) all'altra, ma non so' come
fare.
Avevo intenzione di far derivare le 2 da una 3 che tiene le cose comuni,
ma poi non posso usare + l'ereditarieta' multipla (mi da' un errore del tipo
"Una classe e' gia' inclusa"...).
Al momento ho risolto passando hModalDialog come parametro a
Browseble, ma non mi soddisfa come scelta :/
Perche' i metodi possono essere virtual e gli attributi (si dice cosi'?) no? :(
Aspetto con ansia chiarimenti :)
Bow-wow
Killer

 Browseble, ma non mi soddisfa come scelta :/
E' bè, dopo essermi scervellato per tutto il post, alla fine non c'era nessun
problema.
Comunque, a parte il tono ironico del mio post, in sostanza non ho capito
davvero cosa vuoi fare. Ipotizziamo che tu abbia una classe che rappresenta
una finestra non modale e una classe che rappresenta il pulsante per poter
selezionare un file (il classico browse). Facciamo il parallelo con il classico
esempio della macchina. La classe che rappresenta la finestra non modale
è, diciamo, una macchina senza vetri elettrici, e la classe browse sono,
diciamo, i vetri elettrici.
Come fare per costruire la nostra macchina con i vetri elettrici? Creiamo una
classe macchina derivata dalla precedente con i vetri elettrici!
Allo stesso modo crei una classe derivata dalla classe finestra che ha il pulsante
browse. (Ed è normale che la classe Browse venga costruita passandogli
l'handle della finestra, così come è normale dire ai vetri elettrici dove prendere
la corrente per poter funzionare).
Spero di aver indovinato qual'era il tuo problema,
ciao Fbf.

 la corrente per poter funzionare).
Gia', giusto :/
Grazie
Killer

 "Una classe e' gia' inclusa"...).
Non ho capito bene ma forse potrebbe esserti utile la derivazione
multipla virtuale?
EMG
Newsgroup: it.comp.lang.c++
Titolo: valarray e VC

E' possibile utilizzare valarray in un progetto VC (con MFC)?
Il solo #include mi crea 24 errori :-(  !!!
Prima di fare delle prove, volevo anche sapere se e' possibile
sostituire le STL del VC con quelle scaricate dalla sgi (3.3)
cosi', alla bruta...o rischio solo di fare danni?
Grazie,
    Al

cosi', alla bruta...o rischio solo di fare danni?
Si, non devi 'sostituirle' ma 'affiancarle'.
In pratica le metti in un folder e dalle tools/options/directory le
inserisci in cima alla lista.
Luc.

 inserisci in cima alla lista.
In realta' ho risolto utilizzando le stlport 4, con le sgi non c'e'
stato verso...
Tnx,
    Al
Newsgroup: it.comp.lang.c++
Titolo: Linker error

Salve! Qualcuno saprebbe dirmi cosa non va nel seguente semplice programma?
Provando a compilarlo si ottiene un linker error.
#include <iostream.h>
#include <stdlib.h>
namespace std {
template <class T>
class Point {
protected:
          T * vector;
          int dim;
public:
          Point();
          Point(int);
          Point(int,T *);
          Point(Point<T> &);
          ~Point();
          T getvalue(int) const;
          int getdim() const;
          Point<T> & operator= (const Point<T> &) ;
          Point<T> & operator+ (const Point<T> &) ;
          Point<T> & operator- (const Point<T> &) ;
          friend ostream & operator<< <>(ostream & , const Point<T> &) ;
};
template <class T>
Point<T>::Point() {
dim=1;
vector= new T[dim];
vector[0]=0;
}
template <class T>
Point<T>::Point(int dim) {
this->dim=dim;
vector=new T[dim];
for (int i=0; i<dim ; i++)
    vector[i]=0;
}
template <class T>
Point<T>::Point(int dim, T * vector) {
this->dim=dim;
this->vector=new T[dim];
for (int i=0; i<dim ; i++)
    this->vector[i]=vector[i];
}
template <class T>
Point<T>::Point(Point<T> & p) {
for (int i=0; i<dim ; i++)
    this->vector[i]=p.vector[i];
}
template <class T>
Point<T>::~Point() {
delete [] vector;
}
template <class T>
T Point<T>::getvalue(int i) const {
return vector[i];
}
template <class T>
int Point<T>::getdim() const {
return this->dim;
}
template <class T>
Point<T> & Point<T>::operator= (const Point<T> & p) {
delete [] vector;
dim=p.dim;
vector=new T[dim];
for (int i=0; i<dim ; i++)
    this->vector[i]=p.vector[i];
return *this;
}
template <class T>
Point<T> & operator+ (const Point<T> & p) {
q=new Point<T>(p.dim);
for (int i=0 ; i<p.dim ; i++)
    q.vector[i]=vector[i]+p.vector[i];
return q;
}
template <class T>
Point<T> & operator- (const Point<T> & p) {
q=new Point<T>(p.dim);
for (int i=0 ; i<p.dim ; i++)
    q.vector[i]=vector[i]-p.vector[i];
return q;
}
template <class T>
ostream & operator<< (ostream & out, const Point<T> & p) {
out<<"( ";
for (int i=0 ; i<(p.getdim()-1) ; i++)
     out<<p.getvalue(i)<<" , ";
out<<p.getvalue(p.getdim()-1)<<" )"<<endl;
return out;
}
int main(int argc, char* argv[])
{
      int * w;
      w=new int [3];
      w[0]=1 ; w[1]=2 ; w[2]=3;
      int * q;
      q=new int [3];
      q[0]=2 ; q[1]=4 ; q[2]=6;
      Point<float> p1;
      Point<int> p2(3,w);
      Point<int> p3(3,q);
      cout<<p1;
      cout<<p2;
      Point<int> p4(3);
      p4=p2+p3;
      cout<<p4;
      return 0;
}
}

 }
Essendo friend, non avrebbe accesso ai membri privati di Point<>?
[cut]
In alternativa, perché non usare std::vector<>? È collaudatissima, standard
e già pronta.
Saluti

Sei stato gentilissimo, nonostante io avessi fatto un'azione molto
maleducata postando un codice cosi' lungo. Ti ringrazio di cuore.
Ciao!
Newsgroup: it.comp.lang.c++
Titolo: cvs

Salve a tutti..premetto che prima di postare mi sono
dato da fare
con la documentazione ..ma niente
non riesco a scaricare i sorgenti tramite cvs di un progetto
che mi interessa nello specifico movix 
http://movix.sorceforge.net
(lo
consiglio a tutti/e)
io cerco di accedere anonimamente con
$ cvs -d:pserver:anon...@cvs.sourceforge.net:/cvsroot/movix login
ma non funziona...come posso fare?
grazie a tutti/e

a parte che sei off topic, anche considerando il tipo di progetto che
segnali... Dal sito di Movix:
The MoviX project is a series of three different tiny Linux CD
distributions containing all the software to boot from a CD and play
multimedia files through the MPlayer, the best multimedia player in
the Unix world.
Hai provato ad aprire il link che hai inviato? c'e' un piccolo
errore...
il link corretto e' questo: 
http://movix.sourceforge.net/
ciao


Newsgroup: it.comp.lang.c++
Titolo: Grafici Borland C++ Builder (riprovo)

Costruire un grafico con "ActiveX", è semplicissimo!
Sfortunatamente non ho idea di come e
dove definire i dati visualizzati nel grafico.
Domanda: da dove prende gli input il grafico? dove sono definiti? In quale
file ".h"
Costruire un grafico mi sarebbe utilissimo ringrazio sinceramente chi mi
saprà aiutare!
Fulvio.

...


 wrote in message
7pphh5$9a6$1...@aquila.tiscalinet.it...

Newsgroup: it.comp.lang.c++
Titolo: ancora differenza comandi

Grazie per le risposte innanzi tutto però per capire dico se io scrivo un
programma del genere
#include <iostream.h>
main()
{
     cout <<"ciao mondo";
      return 0;
}
Il mio compilatore nn mi da errore, certo questo programma è scemo e
semplice ma sarebbe stato meglio scrivere std::cout?
Lo so che sono menoso ma vorrei capoire queste scemate altrimenti le cose
serie poi nn le capisco..
Grazie per la pazienza...
Alex


Prima della standardizzazione, questo era il modo normale di scrivere le
cose. Nel corso dell'attivita' di standardizzazione si sono posti alcuni
problemi, come l'aggiornare le classi stream, cercando pero' di non
spezzare il codice preesistente.
Per ottenere questo sono state introdotte due novita': l'uso di header
senza l'estensione ".h" per la libreria standard e l'introduzione del
namespace std. Per questi motivi il modo piu' corretto di scrivere il
tuo programma oggi e':
#include <iostream>
int main()	// l'int va messo
{
  std::cout <<"ciao mondo";
  return 0;	// il return 0; puoi anche ometterlo
}
Ciao,
Nicola

Ho capito grazie due precisazioni per nn confondermi allora:
immagino che quindi dovrò farlo anche con cin per esempio:
std::cin >> ecc..
seconda cosa si usa l'operatore di scope ::   .
Ora nella mia più profonda ignoranza ho letto che l'operatore di scope lo
uso in questo modo per esmpio definisco una classe così:
class pippo{
                   int x:
                   public:
                    void calc(int i);
            }
void pippo::calc(int i){.....}
cioè mi dice che la funzione calc(int i) fa parte di quella classe..
Ora nella libreria iostream c'è una classe che contiene la dfinizione di
cout?? mi sono chiesto.. ho guardato e nn l'ho trovata...
Forse c'è qualcosa che mi manca ? (il cervello???) abbiate pazienza prometto
poi di porvi delle domande + serie lasciatemi un po' di tempo....
Grazie mille
Alex

 cout?? mi sono chiesto.. ho guardato e nn l'ho trovata...
L'operatore di scope serve sia per indicare che un nome e' riferito ad
una classe, sia per indicare che e' riferito ad un namespace. Il
sorgente di iostream dovrebbe contenere qualcosa come:
namespace std
{
...
class ostream { ... };
}
(in realta' e' piu' complicato)
Ciao,
Nicola

namespace std.
Se non sbaglio però g++ nelle versioni precedenti la 3 non inserisce
funzioni, classi... della libreria standard anche nel namespace
globale, quindi è possibile fare:
#include <iostream>
int main(){
    cout << "ciao!";
}
Mentre con altri compilatori (ad esempio VC++) vengono giustamente
riportati degli errori.
-- 
Marco Barisione (ICQ 84277092)
Su it.news.gruppi si sta discutendo della creazione di it.comp.lang
dove si parlerà dei linguaggi senza un proprio newsgroup e dei
confronti fra i diversi linguaggi.
Se sei interessato unisciti alla discussione.

Se non sbaglio però g++ nelle versioni precedenti la 3 non inserisce
                                                        ^^^
Mi è scappato un "non" di troppo  :-)

Newsgroup: it.comp.lang.c++
Titolo: Problema

Su un programma c++, scritto con C++ Builder 4 della Borland, coimpilandolo
ho il seguente.
 [C++ Warning] Codice.cpp(52): W8057 Parameter 'Sender' is never used
come posso risolverlo?
Grazie in anticipo a chiunque risponda.

Semplicemente il compilatore ti ricorda che la tua variabile "Sender" è
stata dichiarata, ma mai utilizzata nel codice, quindi è inutile, e ti
invita a eliminarla.
Dome

 wrote in message
news:4ECX7.2081$%B.8...@twister2.libero.it...


come posso risolverlo?
Inserendo la riga :
 #pragma argsused

 come posso risolverlo?
Un genio diciamo.
Ciao
Gaetano
--
#exclude <windows>
printf("\t\t\b\b\b\b\b\b");.
printf("\t\t\b\b\b\b\b\b");
-- 
Posted from 
nts-03.mm.eutelsat.org
 [194.214.173.15] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG


Un altro.....


 come posso risolverlo?
probabilmente e` riferito ad una funzione del genere:
void mio_evento(Tqualcosa& Sender) { ... }
All'interno del body non utilizzi mai Sender, quindi il compilatore ti 
avverte di cio` (e` solo un Warning, non un errore); per risolvere 
basta eliminare il nome del parametro:
void mio_evento(Tqualcosa&) { ... }
ciao Anto
-- 
Antonio Cuni, 19 anni, studente
Brainbench C++ Master: 4.6, higher than 98% of all previous test takers.
C Language: 3.32, higher than 79% of all previous test takers.
Guida C/C++ di Programmazione.it: 
http://cpp.programmazione.it

> Un genio diciamo.
Certo che la tua arroganza ti precede di 100 metri... in questo e nell'altro
reply.
Almeno spiegassi qualcosa... no, ti limiti a sdegnare quelli che -poveretti-
non hanno le tue stesse conoscenze
Dome
--
------------------------------------------
Domenico Troiano
AI & 3D Coder TFS Project
www.panther3d.com
red...@panther3d.ath.cx
------------------------------------------

 Dome
Se tu mi conoscessi e seguissi qualche altro mio post vedresti
che le cose non stanno cosi'. Se tu vedi un errore minimo cerchi di
capire cosa sta succedendo o mi sbaglio?
Il mio post voleva semplicemente mettere in evidenza che molti postano
su questo NG:
0) OT
1) Per avere risolto un problema scolastico
2) Per problemi di compilazione dovuti a programmi scritti da altri
    senza nemmeno curarsi di capire cosia stia succedendo
3) Problemi di compilazione (INTERNAL ERROR) dovuti al compilatore
     XYZ della casa QWER.
4) E i troll.


Questo a me sembra un niubbo che sta imparando il C...
saro io ingenuo! ;)
Dome
<OT MODE ON>
PS: Ehi! Ho capito come fungono i test su Brainbench! Un minuto fa ho finito
quello sul C (che è free ^_^), e ho ottenuto questi risultati:
Individual Test Results
Module Score
(1-5) Text Description  Weight
C
  3.46 Scored higher than 87 percent** of all previous test takers.
Demonstrates a solid understanding of core concepts within this topic.
Appears capable of working on most projects in this area with moderate
assistance. May require some initial assistance with advanced concepts,
however.
Strengths
 C Expressions
 Functions
 Pointers
Weak Areas
     None Noted
Sub-Category Scores
 Conceptual     4.0
 Problem-Solving    3.0
Non mi sembra malissimo! Sapete mica se bisogna per forza pagare per fare
quelli sul C++?
<OT MODE OFF>

Newsgroup: it.comp.lang.c++
Titolo: warning spurio

Il codice
   value=D>digits?(f.internal()>>(D-digits)):(f.internal()<<(digits-D));
con visual c++ express genera il seguente:
   warning C4293: '<<' : shift count negative or too big, undefined behavior
Mi pare che il compilatore non sia in grado di capire che l'argomento 
dello shift è sempre non negativo. Come faccio a farglielo capire? Devo 
disabilitare il warning?
E.

?manu* ha scritto:

Non mi è chiaro perchè tu voglia usare una sola linea di codice per 
scrivere tutta quella roba.
Comunque prova a passare per gli unsigned no? tanto se sei sicuro di 
quello che fai puoi castare ad unsigned int quelle differenze ed il 
compilatore non dovrebbe più rompere.
ciao

 compilatore non dovrebbe più rompere.
Sì, ci avevo pensato, ma questa è un'espressione su cui voglio la 
massima efficienza. Temo che una conversione a unsigned mi implichi una 
operazione in più nel codice... (ma forse sbaglio!)
E.

 codice... (ma forse sbaglio!)
Perché la conversione tra signed e unsigned dovrebbe implicare cicli 
macchina? Se non fai nulla è solo un modo di rappresentare un insieme 
di byte, se fai un'operazione matematica è l'operatore che determina il 
significato di quei byte. Almeno mi sembra logico che sia così.
-- 
mio figlio: 
http://it.youtube.com/davideippopotamo
doppiatori: 
http://it.youtube.com/watch?v=hPGKNWZw0c0&feature=related
Articolo 33 della Costituzione italiana: L'arte e la scienza sono 
libere e libero ne è l'insegnamento.

 operazione in più nel codice... (ma forse sbaglio!)
Lo static_cast è risolto a compile time. In realtà è un'informazione che 
interessa soltanto al compilatore per sapere come deve "interpretare" il 
contenuto della variabile. In ogni caso, pure fosse costato 5 cicli di 
clock, non riesco ad immaginare cosa tu stia facendo per arrivare ad 
ottimizzare a tale livello.
ciaociao

Newsgroup: it.comp.lang.c++
Titolo: fprintf e LineFeed

Ho un problema...
Un semplice programma che esegue solo questa istruzione N volte...
fprintf(fout,"%c",0x0A)
...produce un file fout che contine esattamente 2*N bytes: N CarriageReturn
(=0x0D), e N LineFeed (=0x0A).
?:-|
Come posso fare in modo che scriva solamente N LineFeed ?
Grazie,
Raf.

 
Apri il file in modalità "binary" aggiungendo 'b' al secondo argomento di
'fopen'.
Max

Grazie Max,
Raf.
Newsgroup: it.comp.lang.c++
Titolo: domanda sulla allocazione/deallocazione

Dunque, programmando in c++ in windows sono andato a testare come si riempie
l'heap.
Ho notato per esempio che se genero con new un puntatore ad un array di
centomila double(tanto per dire) , vedo effettivamente dal grafico della
ram che si riempie un po'.
Ma se nel programma dealloco con delete[], comunque tale memoria non si
"libera" fino a che non termina il programma.
Appena termina infatti vedo il valore della memoria occupata abbassarsi.
Deduzione mia: l'heap rimane sempre fino al max valore raggiunto e al limite
e' disponibile per altre allocazioni, quindi si evita di continuare ad
accrescerlo se dealloco durante l'esecuzione...solo che e' quindi
disponibile per quel programma, gli altri quell'area di memoria se la
scordano a meno che non venga terminato il programma stesso.
Eppure c'e' qualcosa che non mi quadra... mi sarei aspettato, deallocando ,
che nel gestore delle risorse avrei visto la ram liberarsi, col programma
non ancora terminato... oppure va bene come avevo pensato prima?
Grazie e ciao!
E.p.


in realtà se gli altri programmi hanno bisogno di pagine di memoria fisica,
vengono prese pagine da altri processi, pagine che vengono salvate nello
spazio di swap (su disco) e caricate quelle del processo che ne ha bisogno
in quel momento; poi quando il tuo programma ha nuovamente bisogno di
memoria si ricarica i dati dal disco e così via.
--
Pela

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

come faccio a copiare una variabile(o qualcos' altro) negli appunti
(clipboard)?
rspondete presto
grazie




wrote:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/dataexchange/clipboard.asp

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

Abbiamo il seguente programma:
int OCR_main( const int argc, const char * argv[] ) throw()
{
  std::vector< std::string > non_options;
  non_options.push_back( argv [0] );
}
int ErrorLevel;
int main ()
{
    ndInitSystem ();
    pseudoExec ( (void *)(&OCR_main), "Ocrad", "ms0:/ocrad.pgm", 
&ErrorLevel);
}
Io sono un programmatore C, ma non ancora C++.
Quindi cerco qualcuno che mi aiuti.
C'č un problema nella riga:
std::vector< std::string > non_options;
Il sistema esegue la riga, ma quando
viene poi eseguito il comando:
non_options.push_back( argv [0] );
si verifica un crash dell'emulatore.
Vorrei sapere cosa fa di preciso questa
chiamata:
std::vector< std::string > non_options;
e come viene tradotta internamente dal
compilatore (c'č qualche chiamata nella
libreria standard del C++?)
Grazie a tutti.

std::vector< std::string > non_options;
Non è una chiamata, ma una semplice dichiarazione di un vettore
(std::vector) di stringhe (std::string) dal nome "non_options". Il
template std::vector è una classe standard che funge da container per
qualsivoglia tipo (in questo caso stringhe).
Newsgroup: it.comp.lang.c++
Titolo: Lezioni C++

Ciao! Esiste il tipo di dato Record in c++? O meglio, posso dichiarare
una funzione con Record Leggi(); ?
Sono un neofita:-(
Grazie!

 wrote in message
news:3bc5b52e...@news.inwind.it...

sostituito dalle struct in C e successivamente dalle classi in C++ (che
ammette anche le struct le quali si comportano come classi tranne che
per la visibilità di default dei membri).
--
Andrea Ferro
---------
Brainbench C++ Master. Scored higher than 97% of previous takers
Scores: Overall 4.46, Conceptual 5.0, Problem-Solving 5.0
More info 
http://www.brainbench.com/transcript.jsp?pid=2522556

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

Una domanda ai puristi (che magari dimostrerà che non ho capito niente dei
namespaces):
Per utilizzare le librerie standard è meglio utilizzare "using namespace
std" (a proposito che scope ha?) oppure premeterre sempre std:: per esempio
a cout cioè usare std::cout?
Grazie e bye bye
Antonio

 wrote in message
news:E751a.3764$uA5....@tornado.fastwebnet.it...

La seconda che hai detto.
Non e' questione di purismo, se tu usi sempre using namespace std anche solo
per utilizzare cin cout e endl, ti porti dietro tutto il namespace std
inutilmente e fai perdere il significato di avere un namespace.
Il namespace e' uno scatolone dove sono messe tutte le classi, le variabili,
le costanti, le funzioni che sono legate da un tema comune (in questo caso
standard), allo scopo di far evitare fra librerie diverse conflitti
possibili fra nomi.
Se per esempio tu utilizzassi una tua libreria grande che hai sempre
utilizzato nei tuoi progetti e poi volessi aggiungere delle funzionalita' al
tuo progetto, utilizzando un'altra grossa libreria, hai delle probabilita'
di dover risolvere conflitti fra nomi di costanti o di classi o di funzioni
o di variabili, constringendoti a cambiare i nomi in una delle due librerie.
Un lavorone grosso che con i namespace ti fanno risparmiare.
Per cui secondo me e' meglio usare il meno possibile using namespace
nomedelnamespace; cosi' non ci sono pericoli in futuro di fare del lavoro
aggiuntivo.
Maurus

 Maurus
Quindi la domanda non era così stupida! grazie!
Bye
Antonio

...

Secondo me e' opportuno distinguere due casi fondamentali: quello che
fai in un header e quello che fai in un file .cpp . Nel caso
dell'header e' fondamentale non "inquinare" i namespace con
definizioni esterne, che chi include i tuoi header potrebbe non
aspettarsi. Quindi dagli header la keyword "using" e' bandita :-)
Nei file .cpp, e qui mi distacco da opinioni diffuse, secondo me e'
preferibile utilizzare la direttiva using (cioe' ad esempio "using
namespace std") e gestire esplicitamente eventuali conflitti. Qui
infatti il contesto e' chiuso: sai o puoi sapere esattamente cosa ti
porti dentro e non dai fastidio a nessuno.
Ciao,
Nicola



Mi intrometto:
é lo stesso, per quanto riguarda "l'inquinamento" 
dei namespace, usare ad esempio using std::cout 
o mettere ogni volta std::cout?
Skitch

 porti dentro e non dai fastidio a nessuno.
io voto per te ;-).
Newsgroup: it.comp.lang.c++
Titolo: Problema col TEMPO

Ciao Ragazzi,
Ho un piccolo problemino : sto implementando un programma che calcoli
quanto tempo intercorre tra l'inizio di un operazione e la fine.
Ad esempio :
t1 = clock();
 for ( i = 1; i <= 10000; i++)
   varie istruzioni
t2 = clock();
cout << "tempo = " <<t2-t1;
Il problema è che se qualcuno modifica l'orologio di sistema durante
l'esecuzione
il risultato viene falsato.
Per cui come posso fare ad accorgermi se viene modificato l'orario oppure
ad evitare tale modifica?????
GRAZIE

quanto tempo intercorre tra l'inizio di un operazione e la fine.
Forse ti conviene usare la funzione gettimeofday().
Questo codice potrebbe fare al caso tuo:
#include<sys/time.h>
#include<unistd.h>
static struct timeval tstart;
void start_timer(){
	gettimeofday(&tstart,NULL);
}
double get_timer(){
	struct timeval tfinish;
	long sec,usec;
	gettimeofday(&tfinish,NULL);
	sec = tfinish.tv_sec - tstart.tv_sec;
	usec = tfinish.tv_usec - tstart.tv_usec;
	return sec + 1e-6*usec; 
}
---
Massimilino Iannotta
Università degli studi del Sannio
Informatic Engineering in progress ...

 #include<time.h>


 il risultato viene falsato.
suppongo che siano tempi lunghi, quindi
Al momento vedo solo due soluzioni, credo purtroppo entrambe OT:
1 - ti affidi al protocollo NTP, e usi un server tipo 
time.ien.it
    devi usare le API del tuo sist.operativo (win32 credo) e chiedere
    sul NG di competenza (it.comp.programmare.win32)
2 - usi l'istruzione assembler RDTSC, che pero' funziona solo su x86
A proposito, e' OT parlare di assembly inline specifico per un 
processore, nel contesto in esame?

     sul NG di competenza (it.comp.programmare.win32)
e magari qualcuno intercetta i pacchetti diretti a quel server e 
restituisce risultati fasulli... :-)
 
ciao Anto
-- 
Antonio Cuni, 19 anni, studente
Brainbench C++ Master: 4.73, higher than 99% of all previous test takers.
C Language: 3.79, higher than 92% of all previous test takers.
Guida C/C++ di Programmazione.it: 
http://cpp.programmazione.it

Newsgroup: it.comp.lang.c++
Titolo: Aiuto!!! Protezione software da copia[FORSE NON TROPPO OT...]

Ho elaborato un programmma ed ho intenzione di venderlo all'interno di un
gruppo di persone.La mia paura è che lo compri uno e gli altri se lo
masterizzino.
come fare per evitarlo?
Ogni suggerimento potrebbe essermi di grande aiuto per cui vi ringrazio
anticipatamente.
Marco

 come fare per evitarlo?
Il metodo più sicuro, ma ovvio, non infallibile, è la chiave hardware. 
Tutto il resto... son solo parole... ;)
-- 
Luc.

 wrote in message
news:MPG.18e8d9d62...@tornado.fastwebnet.it...
