mii-community/UsenetArchiveIT-conversations huggingface dataset:
Newsgroup: it.comp.lang.c++
Titolo: socket in c++

Sto cercando, per esercizio di fare un porting in C++ di un programma che
avevo scritto in C; l'idea è quella di creare un oggetto socket.
questo è un framento del codice:
class soc {
    private:
 int sd; // Socket descriptor
 int nporta; // Numero porta con cui connettere la socket
 char* ip; // Ip del server con cui effettuare la connessione
 struct sockaddr_in sin;
 struct hostent* hp;
    public:
     soc(const char*,int);
 ~soc();
};
soc::soc(const char* host,int porta) // Costruttore della classe socket
{ 
    nporta= porta;
    ip = new char[strlen(host)+1]; // Da fare il controllo sul formato dell'host
    strcpy(ip,host);
 
    hp=gethostbyname((char *) ip); 
arrivato qui il compilatore mi segnala un 
warning: implicit declaration of function 'int gethostbyname(...)'
Qualcuno può spiegarmi il perchè ?
Premetto che il compilatore è il g++ per Linux
Grazie 
Enrico
sco...@itol.it

 ha scritto nel messaggio
news:8i54k4$1ga$1...@pegasus.tiscalinet.it...


 ha scritto nel messaggio
news:382be...@news.megasys.it...


 wrote in message 8i5asl$jr1$1...@nslave2.tin.it...


Newsgroup: it.comp.lang.c++
Titolo: classi mutuamente visibili

Due classi si devono vedere mutuamente, come faccio a dirlo al compilatore ?
(sono nello stesso file)
class A {
        B * b;
    ..........
    ..........
    void out( ){
                b->sleep();
                };
};
class B {
        vector<A> a;
        .........
        ........
        void sleep( );
};

...

Ciao,
prova cosi´:
#include <vector>
class A;
class B
{
   std::vector<A> a;
public:
   B() {};
   void sleep();
};
class A
{
  B *b;
   void out( ){b->sleep();}
public:
   A() {b = new B;}
   ~A() {delete b;}
};


Mi continua a dare errore perchè in realtà B::sleep usa un metodo di A
void B::sleep(){
                a[0].blabla();
            }
come devo fare?


Allora...prova cosi´...ti fai due files :
// file.h
#include <vector>
class A;
class B
{
   std::vector<A*> vap;
public:
   B();
~B();
   void sleep();
};
class A
{
   B *b;
   void out();
public:
   void blabla();
   A();
   ~A();
};
e poi quest´altro file :
// file.cpp
#include "file.h"
B::B() {vap.push_back(new A);}
B::~B() {delete vap[0];}
void B::sleep() {vap[0]->blabla();}
A::A() {b = new B;}
A::~A() {delete b;}
void A:: blabla() {}
void A::out() {b->sleep();}
Ho trasformato il tuo vettore di oggetti di tipo A in vettore di puntatori a
oggetti di tipo A, per cui costruttore e distruttore di B, creeranno e
distruggeranno dinamicamente gli oggetti che metti nel vettore.
Ciao
MaurusAP

Aliglotolo wrote:

class B; //Indico al compilatore che esisterà una classe B, e di non
preoccuparsi
class A [
         B* b; //Devo utilizzare i puntatori, perchè il ocmpialtore
ancora non sa come sarà fatto un oggetto di tipo B
         void out(); //Non posso utilizzare oggetti di classe b, prima di
averne dichiarato la classe
};
class B [
         vector<A> a; //la classe A è già stata dichiarata, non ci sono
problemi
         void sleep();
};
// Adesso che ho definito la classe B, posso utilizzarla.
void A:out() [
         b->sleep();
};
// Ciao.
Newsgroup: it.comp.lang.c++
Titolo: come lo faccio il PEEK?

Ciao
Per imparare l'assembler mi sono dato questo compito:
Trasferire un "pezzettino di memoria",magari 10K bytes,da un punto ad un
altro della memoria.
Per ora sono solo in grado di scrivere sulla memoria grafica senza usare gli
interrupts(con le info.. del post precedente). Vorrei copiare una porzione
di schermo in un altro punto dello schermo(in modo da vedere quello che
combino).
In realtà mi serve sapere come ottenere una specie di... "peek".
Qualcuno ha già fatto questo esperimento? Non avreste non programmino da
smanettare?
Vorrei non utilizzare gli interrupts, ma imparare l'uso dei registri nel
modo corretto.
MilleGrazie a chi vorrà aiutarmi.
                                                                    Massimo
tex...@tiscalinet.it

 wrote in message
7uvrfb$75o$1...@draco.tiscalinet.it...

push SI
push DI
push CX
mov  SI, 0
mov DI, 25*80
cld
mov  cx, 25*80
push DS
pop  ES
mov  DS, b800h
mov ES,  b800h
repnz movs
pop ES
pop DS
pop cx
pop  Di
pop SI
se lavori in dos a 16 bit queste righe spostano il contenuto della metà
superiore dello schermo in quella inferiore.

Newsgroup: it.comp.lang.c++
Titolo: Domanda filosofico-implementativa

Scrivendo una piccola gerarchia di classi per lavorare con le finestre di
Windows, mi sono ritrovato ad un punto in cui, per creare le finestre
figlie, potrei scrivere qualcosa del genere:
MyWindow w( new Button( ... ),
                         new ListBox( ... ),
                         new Panel(   new Button( ... ),
                                               new CheckBox( ... )
                                               ),
                         etc...
                         );
vorrei sapere: e' accettabile da un punto di vista di 'stile'?
Rishio di andare in out of stack?
grazie
    Al

Rishio di andare in out of stack?
Questo non penso che sarebbe un problema (in Win32 lo
stack e' generalmente dimensionato, contando un suo
automatico allargamento, in modo assai generoso -- le
poche decine di puntatori che puoi appoggiarci in questo
modo non dovrebbero fargli un baffo).
Alex
Newsgroup: it.comp.lang.c++
Titolo: Problemi con la classe CPropertySheet

Hello,
 ho il seguente problema esistenziale con Visual C++.
 Vorrei creare un'applicazione SDI la cui vista sua un dialogo di tipo
PropertySheet.
Non ho le idee molto chiare su come associare alla Vista del documento una
oggetto di questo tipo.
Chi mi dà una mano ???!!???!
Saluti a tutti i NAVIGATORI che impazziscono con MS Visual C++ (Ver 4.0)


Dovrei andare a vedere un po' ma credo che non sia immediato.
Infatti immediato e' solo fare una vista simile a una dialog box
(CFormView o qualcosa di simile) ma gia' un Property Sheet che non abbia
gli standard tre bottoni OK,Annulla e Applica richiede piu' lavoro che
non usare la sola classe CPropertySheet.
Ho paura (ma NON sono sicuro) che debba fare tutto a mano cioe' la
finestra che andrai a visualizzare dovra' essere una figlia della CView
e la dovrai gestire tu.
Non ho sottomano alcun'altra soluzione.
Ma posso sbagliarmi.
-- 
Gabriele Cannata		Digito...
g.ca...@bo.nettuno.it
		...ergo sum!
http://www.geocities.com/SiliconValley/Heights/1968/index.html
Newsgroup: it.comp.lang.c++
Titolo: chiamata al metodo del padre

Scusate se replico la richiesta, ma non la vedo apparire sul sito.
In breve, non so come fare a richiamare da un metodo f1() lo stesso metodo appartenente alla classe derivata.
Mi spiego meglio:
data la classe A contenente il metodo public f1(), derivo la classe B. Qui ridefinisco la funzione f1() e al suo interno, ad un certo punto, voglio richiamare f1() di A. Come faccio? E' possibile?
Grazie,
Giulio 
-- 
Posted from [212.210.176.25] by way of [212.216.176.140] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 ha scritto nel messaggio
news:20010226145202.EVNH27986.fep31-svc.tin.it@[127.0.0.1]...

Newsgroup: it.comp.lang.c++
Titolo: Problema con libreria di rete...

Sto facendo una libreria per gestire funzioni di rete.
Tramite Winsock (il mio problema non riguarda funzioni inerenti alla rete ma
di struttura).
Mi capita di utilizzare questa mia libreria in + programmi alla volta (es.
client & server sulla stessa macchina). Ma devo inizializzare le librerie di
rete di sistema una sola volta (WSAStartup) e finalizzarle una sola volta
(WSACleanup). Devo percio' tener traccia dell'esecuzione di queste 2
funzioni con un contatore di istanze e finalizzare solo quando questo
contatore e' a 1.
Io ho pensato a queste possibilita':
- scrivere un file temporaneo... non mi ispira, sistema poco elegante
- scrivere nel registro di sistema... non mi piace moltissimo, ma meglio di
niente
- scrivere in una variabile ambiente... non mi ispira proprio, lo spazio a
disposizione per le variabili ambiente e' spesso pochino
- far comunicare i 2 processi tramite IPC... pero' mi pare un lavoraccio
solo per condividere una variabile
Qualcuno mi consiglia un buon metodo?


it.comp.programmare.win32
(WSAStartup e WSACleanup sono funzioni di API Win32)
(è molto più semplice di quello che hai scritto, nonostante Windows)

 (č molto piů semplice di quello che hai scritto, nonostante Windows)
Se l'ho scritto qui e' perche' chiedevo se ci fosse un metodo legato al
linguaggio non al S.O.

 linguaggio non al S.O.
Allora si vede che sei proprio a digiuno di C/C++ ....
8-)
-- 
Luc.

 ha scritto nel messaggio
news:MPG.17fb859de...@tornado.fastwebnet.it...

Non e' mia intenzione avviare un flame... ma tu 6 in grado di affermare di
conoscere ogni aspetto e ogni meccanismo di questo linguaggio di
programmazione?
Uso C/C++ ogni tanto, altre volte uso altri linguaggi/altre tecnologie come
molte altre persone e difficilmente si puo' sapere tutto. Mi chiedevo
semplicemente se c'e' un modo rapido e semplice di condividere una variabile
tra processi differenti senza dover ricorrere a metodi troppo complessi.

 tra processi differenti senza dover ricorrere a metodi troppo complessi.
Sono abbastanza d'accordo con te, nel senso che e' possibile dare una
risposta indipendente dalla piattaforma alla tua domanda. Tra parentesi
la conosci gia': scrivi su un file il valore da leggere dall'altra parte
(nota che puoi incorrere in problemi di sincronia).
E' pero' vero che volendo utilizzare funzionalita' specifiche di una
piattaforma e' piu' facile ottenere consigli sensati da chi su quella
piattaforma lavora e magari utilizza gia' le stesse funzionalita'.
Ciao,
Nicola

 programmazione?
No, ma penso di superare ampiamente il 60-70%. Più che sufficiente per 
programmare professionalmente in C++...
:-)
-- 
Luc.
Newsgroup: it.comp.lang.c++
Titolo: Aiuto: uso e costruzione dll

Ciao,
    mi chiamo Giuseppe Frazzini e sto facendo le mie prime esperienze
col  VC++ (versione 4).
Nel programma che sto scrivendo devo utilizzare una dll (esattamente la
Wnaspi 32).
Dalle spiegazioni nel manuale che ho a disposizione (Programmare in
Visual C++ 4.2 di Kate Gregory) non
capisco se mi é sufficiente il file .dll o se devo avere anche il .lib e
il .h.
Qualcuno mi può aiutare, anche via e-mail?
Grazie,
    Giuseppe Frazzini (
giu...@globalnet.it
)

Se carichi la DLL dinamicamente con LoadLibrary ti basta il file .dll. 
Se invece includi il .h e linki la .lib, puoi chiamare direttamente nel
tuo codice le funzioni esportate.
Consiglio questo secondo metodo.
---
     Andrea Ferro
SW.AN. Technologies s.a.s.
Merate (Lc)          Italy

Newsgroup: it.comp.lang.c++
Titolo: Media tra un insieme di angoli?

Vorrei calcolare la media di + angoli:
Es.: -30° e +30° =0°
    -90    180    150    =    200 oppure -160
In quest'ultimo caso l'angolo non era -90 ma 270 in quanto io cerco un
angolo che stia in mezzo agli altri.
Mi sono già scervallato, ma non sono riuscito a trovare una soluzione.
Vorrei comunque poter calcolare la media di + di 2 angoli (4 5 o anche di +)
Grazie

 Grazie
Se poi aggiungiamo anche questa frase ammetterai che il tuo messaggio è
ancora più incasinato...
Spiegati meglio e cercherò di aiutarti ^__^
-- 
Axel
Moderatore 
http://www.cropcirclecrew.org/public/cccforum/index.php
Sezione Programmazione Domande/risposte


Esatto in questo caso mi è del tutto indifferente 1 o l'altra fa lo stesso.
Consideriamo:
                                      |270
                                      |
                                      |
180                                |                                    0
---------------------------------------------------
                                      |
                                      |
                                      |
                                      |90
Ora vi do qualche angolo e il risultato che vorrei ottenere:
90 - 180 - 30 - 330
Risultato: 0
0 - 90 - 180 - 270
Risultato: una delle 4 non importa quale
150 - 180 - 270
Risultato: 200
Come si puo' notare il problema nasce attorno agli 0°
Spero di essere stato + chiaro, se avete altre domande chiedete pure.

Azz c'entra con sto newsgroup??


Mi sembra logico che lo voglia fare con il c++... o no?!?


 Mi sembra logico che lo voglia fare con il c++... o no?!?
No!
Mi sa che Diego non sa ancora quale sia l'algoritmo
che gli permetta di calcolare la sua benedetta media.
Ed in questo caso, ovviamente,
il gruppo adeguato è it.scienza.matematica
e non it.comp.lang.c++
- Dario
Followup-To: it.scienza.matematica

oops per sbaglio sono finito su it.scuole_media.geometria
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG
Newsgroup: it.comp.lang.c++
Titolo: spazzi vuoti

Ho una lista contenente vari campi di tipo char e deivo visualizzarli in
modo tabellare.
Il problema č che se per esempio ho un capo char[20], contenete una stringa
lunga 5 caratteri e subito dopo un'altro campo sempre dello stesso tipo e
contenente una stringa lunga 10, mi mostra tutto attaccato senza che si
ditanzino uno dall'altro del valore della lunghezza dichiarata dal tipo
variablie.
Ho provato ad usare il setw ma allinea a destra mentre a me serve
l'alliineamento a sinistra
Esiste una funzione similare da poter usare per le stringhe????
Ciao
Corti

Si, esistono "left", "right" e "internal" sia come flag che come
manipolatori.
Ad esempio:
#include <iostream>
#include <iomanip>
int main(int, char *[])
{
std::cout << std::setw(8) << std::left << 42 << ";\n";
std::cin.get();    
}
Ciao,
Nicola

ho provato a utilizzare la tua istruzione ma l'allinaemento mi funziona ma
non incolonna...
l'istruzione che ho usato č
    cout << setw(20) << left << motivo;
c'č qualche errore nell'istruzione? il valore 42 che hai inserito
nell'esempio a cosa serve??
Ciao e grazie
Corti.
<Nicola....@ObjectWay.it> ha scritto nel messaggio
news:1104754870.3...@c13g2000cwb.googlegroups.com...


 nell'esempio a cosa serve??
A prima vista no. Cosa intendi per non incolonna? La tua istruzione
stampa motivo allineato a sinistra in uno 'spazio' di venti caratteri.
Attenzione che in molti casi la formattazione si reimposta
automaticamente ogni volta che visualizzi qualcosa; prova a ripetere
setw e left ogni volta.
Il 42 e' giusto per avere qualcosa da stampare.
Ciao,
Nicola

 c'č qualche errore nell'istruzione? il valore 42 che hai inserito

Newsgroup: it.comp.lang.c++
Titolo: Aiuto in Opengl!!

Ciao!! C'è qualcuno che sa programmare in opengl??
Sto iniziando a studiare l'opengl, e avrei bisogno di qualche esempio di
codice e exe di animazione opengl.Qlcs di semplice ma carino.. che si
possa magari controllare anche con un click di mouse o da
tastiera!Grazie e ciao a tutti!
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

Qui trovi tutti i tutorial che vuoi (per fare delle cose semplici
semplici)
www.gametutorials.com
	<--
www.opengl.org
nehe.gamedev.net
	<--
www.gdmag.com
pyopengl.sourceforge.net/documentation/manual/index.html
nei siti indicati con le freccette dovresti trovare altri link


 tastiera!Grazie e ciao a tutti!
Oltre ai siti consigliati da tacchan666, ti consiglio di postare su
it.comp.giochi.sviluppo
Saluti
--
NinjaCross
 
www.ninjacross.it
Membro dell'Italian Agile Movement.
www.agilemovement.it
Sconnetti il chip isolineare per contattarmi
ninjacross_CH...@yahoo.it

 ha scritto nel messaggio
news:69532147b6c5b373c72...@mygate.mailgate.org...


Grazie 1000 a chi mi ha scritto.
Ciao a tutti e un bacio a tacchan666, NinjaCross e Luca  


Newsgroup: it.comp.lang.c++
Titolo: [RM]-Informatica-Esperto C++

Societa' di Informatica in Roma, ricerca urgentemente per la propria
clientela ed in particolare per un grande gruppo che opera nel settore delle
telecomunicazioni a livello mondiale, le seguenti figure professionali:
  Rif. TSRM032 - Esperto C++per coordinamento tecnico di un gruppo
                             di 3-5 persone,
                            con 1/2 anni di esperienza.
 Sede di lavoro : Roma
 Assunzione prevista : immeddiata
La Societą assicura massima riservatezza e prega i Candidati di citare il
riferimento di cui sopra e di manifestare il consenso al trattamento dei
dati personali a norma  della legge 675/96 e successive integrazioni.
Si prega di Inviare curriculum dettagliato a:
- Posta elettronica 
barbara...@teslacom.net
- FAX 06 5565408
- Posta Tesla.com srl Via Oderisi da Gubbio, 245 00146 ROMA
Oppure
- Di persona (previo appuntamento) chiamando : 06 5565408 / 0335 7848724
<9:30 13:00  15:00 18:00 Lun-Ven>(Soluzione consigliata)
-------------------------------
         Barbara Kolacz
     Responsabile Risorse
 
TESLA.COM
 s.r.l
 Telecomunications and Internet
            Consulting
 -------------------------------


Se vi affidate ad  "esperti di un anno" per coordinare  gruppi di persone, posso
immaginare la qualita' dei servizi che offrite, sicuramente non migliore delle
vostre politiche di reclutamento personale.
Ivan

su non essere troppo cattivo...
almeno questi hanno lasciato un recapito "vero",
un dominio, un domicilio, un numero di fax.
volendo puo' curiosare e farti un'idea dell'azienda.
mica come le aziende leader nel settore che
postano e lasciano solo un'indirizzo di posta su libero...

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

ciao a tutti sapete dirmi una libreria serial che giri su linux io ho
trovato LibSerial ma non riesco ad installarla.
Grazie
Luca

Però scusate,
è un ng sul  C++ o programmazione linux/win ?



scusa io chiedevo una lib in c++ che girasse su linux,
grazie ugualmente
Newsgroup: it.comp.lang.c++
Titolo: [Forse OT] notazione

Buongiorno,
non so se sono OT però volevo chiedere il significato della notazione _ o __ 
(sottolineatura e due volte sottolineatura) davanti ad alcuni nomi di 
variabili.
Sto cercando di apprendere il C++ e vorrei uniformarmi agli standard.
Grazie. Ciao. Stefano. 

 Sto cercando di apprendere il C++ e vorrei uniformarmi agli standard.
Il tuo codice non fa parte dello standard quindi non puoi e non devi 
imitarne la notazione. I nomi che iniziano con '_' sono tutti riservati!
Lo standard futuro potrebbe, senza preavviso alcuno, includere uno dei 
tuoi simboli e il tuo codice smetterebbe di funzionare.
Kiuhnm

 imitarne la notazione. I nomi che iniziano con '_' sono tutti riservati!
Non esattamente. I nomi che iniziano con '_' sono riservati nel namespace 
globale. Sono invece riservati in qualsiasi contesto i nomi che iniziano 
con '_' seguito da una lettera maiuscola e i nomi che contengono una 
sequenza di due '_'.
Max

 ha scritto nel messaggio 
news:44fbf6cb$0$15862$4faf...@reader2.news.tin.it...


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

Ciao a tutti il mio problema č quello di voler estrarre da un file il suo
contenuto in modo non tradotto
cioč leggere da un file il suo contenuto e metterlo in una variabile.
Avevo pensato di risolvere il problema con le seguenti istruzioni cioč
aprire il file in binario in sola lettura e poi tramite fread estrarre da
esso le informazioni.
filetsr=fopen("c:\\file.doc","rb");
fread(mat,1,buflen,filetsr)
Solamente che facendo il debug del programma vedo che a volte mat assume
valore vuoto.
Come devo dichiarala mat ora č dichiarata cosě:
char *mat va bene?
Grazie a tutti
Ciao


wrote:

mica tanto :)
mat deve puntare al primo elemento di un'array di char, non ad un
singolo char :P
puoi risolvere in questo modo:
FILE *filestr;
char *mat = new char[NUMERO_MASSIMO_DI_CARATTERI];
...
// qui fai quello che devi fare...
filestr = fopen("c:\\file.doc","rb");
fread(mat,sizeof(char),NUMERO_MASSIMO_DI_CARATTERI,filestr);
...
delete[] mat;
byez

 char *mat = new char[NUMERO_MASSIMO_DI_CARATTERI];
Oppure, ancora meglio:
char mat[NUMERO_MASSIMO_DI_CARATTERI];
EMG

Newsgroup: it.comp.lang.c++
Titolo: OT : Stringhe & Alberi

Salve,
sto cercando qualche esempio in C++ per l'implementazione degli alberi
n-ari.
Inoltre, vorrei sapere come si fa il casting da *char a int ???
Grazie
CM
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 wrote in 
news:e153bfcdc9d60128e0d...@mygate.mailgate.org
:
E tre. Alla quarta ti mando staffelli con il tapiro d'oro.
Ad una delle domande ho già risposto, almeno dai segni di vita dimostrando 
che leggi... 
-- 
In silenzio anche un idiota sembra intelligente. Ma non c'è problema,
l'idiota vuol sempre dire la sua.

 ha scritto nel messaggio
news:e153bfcdc9d60128e0d...@mygate.mailgate.org...

Newsgroup: it.comp.lang.c++
Titolo: TSL

#include <iostream>
int m_lock;
int tsl(int n)
{
 _asm
 {
  mov eax, n
  xchg eax, m_lock
 }
};
using namespace std;
void main()
{
 cout << tsl(0) << endl; //un valore a caso, di solito 0
 cout << tsl(1) << endl; //0
 cout << tsl(1) << endl; //1
 cin.get();
}
Perchè quel babbo del compilatore mi da un warning del tipo 'tsl' : no
return value, quando il return value c'è eccome?

 return value, quando il return value c'č eccome?
e dov'č?

 wrote in message
news:MEW78.24120$5M4.7...@twister2.libero.it...


 in eax
[Top-posting aggiustato]
Questo non centra nulla. void main() e' *errato*. Alcuni compiler lo 
supportano per compatilibilta' a codice vecchio, ma solo int main e' 
giusto. Poi il compiler non da warning sul codice assembler che lui stesso 
ha generato (sarebbe un po' demente, no?) ma sul source. E nel source il 
return value non c'e'.
Aaron

Posto che comunque funzionava lo stesso, quel che dici è giusto, in effetti
era difficile (impossibile?) per il compilatore capire dove io avessi messo
il valore di ritorno, per togliermi il warning ho aggiungo due righe di
codice del tipo
#ifdef INTEL_386
  int SyncObject::tsl(int n)
  {
   int& m = m_lock;
   _asm
   {
    mov eax, n;
    xchg eax, m;
    mov m, eax;
   }
   return m;
  }
#else
per quanto riguarda il main ovviamente non era quello l'originale, che senso
avrebbe scrivere una funzione test and set lock per usarla così?
Ad ogni modo l'uso del void è tollerato e non genera warning nel mio
compilatore.
Non per abusare della tua gentilezza, l'istruzione xchg che tu sappia,
blocca agli altri eventuali altri microprocessori il bus dati per i
nanosecondi necessari all'esecuzione?
Siccome sto scrivendo una libreria di thread a livello application (stile
Java) non sarebbe bello impedirne l'uso su sistemi con piu' di una CPU.


Newsgroup: it.comp.lang.c++
Titolo: C++Builder e HP LaserJet 1100

Questo programma ha eseguito una operazione non valida... ecc.
A questo punto il programma termina e si ritorna a Windows.
In entrambi i casi il nome del programma indicato è quello del software
sviluppato in C++Builder.
Nessun problema, invece, con altre stampanti.
Se la stampante predefinita non è la HP Laserjet 1100,, ma durante
l'esecuzione, viene impostata la LaserJet 100 e viene effettuata una
preview, si verifica lo stesso problema, nessun problema, invece, se si fa
una stampa, anche con la LaserJet 1100, (naturalmente deve errese prescelta
durante l'esecuzione, perchè se fosse la stampante predefinita il programma
si bloccherebbe alla partenza).
Grazie in anticipo, chiedo scusa nel caso fossi ot.
Gaetano Piazza

Chi mi sa indicare dove trovare supporto tecnico per C++Builder?
forums.borland.com
Newsgroup: it.comp.lang.c++
Titolo: Specializzazione di alcune funzioni di classe template

	Data una classe template che ha N metodi, uno di questi metodi voglio
specializzarlo (parzialmente) per una serie di combinazioni di tipi (i
parametri template sono piu' d'uno). Bene, dopo una serata di lacrime e
sangue sono riuscito a farlo solo specializzando l'intera classe,
ricopiando ogni volta tutta la dichiarazione contenente quindi tutti gli
altri n-1 metodi! Ho anche consultato libri e vari siti internet, ma non
sono venuto a capo di niente.
	Lo so che la specializzazione parziale delle funzioni non e'
supportata, ma non c'e' un'alternativa a specializzare l'intera classe
secondo voi? Grazie
_dave_

 secondo voi? Grazie
Sposta l'implementazione del metodo (o dei metodi) in questione in una
classe helper e specializza parzialmente quella. Magari aggiungi una
dichiarazione friend per avere piy libertà di movimento. Così, ad esempio.
(Seguono due idee; la seconda mi piace di più.)
// (prima)
 template< class T, class U > struct foo_impl; // fwd decl.
 template< class T, class U >
 class A
 {  foo_impl<T,U> kufoo;
    public:
    void foo();
    friend class foo_impl<T,U>;
 };
 template< class T, class U >
 struct foo_impl
 {
    void operator()( A<T,U>& this_ ) 
    {  cerr <<"implementazione di default"<<endl;  }
 };
 template< class T>
 struct foo_impl<T,int> // specializzazione parziale
 {
    void operator()( A<T,int>& this_ ) 
   { cerr << "implementazione parz. specializz." << endl; }
 };
 // implementazione di foo
 template< class T, class U >
 void A<T,U>::foo() {  kufoo(*this); }
 int main()
 {
	A<char,int> a1;
	A<char,char> a2;
 
	a1.foo();
	a2.foo();
 }
 // (seconda)
 template< class AT > struct foo_impl; // fwd decl.
 template< class T, class U >
 class A : private foo_impl<  A<T,U> >
 {  
    typedef  foo_impl<  A<T,U> > foo_base;
    friend foo_base;
    public:
    void foo() {  foo_base::foo();  }
 };
 template< class AT >
 struct foo_impl
 {
    void foo() {  
     AT* this_ = static_cast< AT* >(this);
     cerr <<"implementazione di default"<<endl;  
    }
 };
 
 template< class T >
 struct foo_impl<  A<T,int> >
 {
    void foo() {  
     A<T,int>* this_ = static_cast< A<T,int>* >(this);
     { cerr << "implementazione parz. specializz. per A<T,int>"<< endl; }
    }
 };
Max


In alternativa a quanto ti ha consigliato Max (che e' la soluzione piu'
generale), se le tue specializzazioni riguardano tipi presenti tra i
parametri dei template, puoi evitare di usare una classe "privata" e
delegare l'attivita' della funzione membro che vuoi specializzare ad un
insieme di overload di una funzione membro privata:
template <class A, class B> class C {
  public:
    void f(A a, B b) { g(a,b); }
  private:
    g(A a, B b);
    g(A a, int b);
};
Ciao,
Nicola
Newsgroup: it.comp.lang.c++
Titolo: Conversione

Ho una stringa che contiene una espressione esadecimale es char* = "FFFF"
come faccio a convertirla in una variabile numerica?

 "FFFF" come faccio a convertirla in una variabile numerica?
int hex2int(const char* str)
{
        std::string s("0x");
        s+= str; // dubbio atroce: esiste operator+=(const char*)?
        std::stringstream ss(s);
        int res;
        ss >> res;
        return res;
}
Non l'ho provato, ma dovrebbe funzionare. 
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
Newsgroup: it.comp.lang.c++
Titolo: operatore & (pivello)

Ciao ragazzi
sono uno studente alle prime armi
allora :
int *prova
è un puntatore che si chiama prova e che punta ad un intero
int &prova
che cavolo e'?? non riesco a capire
mi hanno detto che in questo caso prova è un indirizzo che punta ad un
intero, ma il puntatore non e' gia' un indirizzo?
che differenza c'e' tra le due espressioni?
grazie
Marcello

int &prova
un reference ad un numero intero...
consideralo un alias, una specie di puntatore nel quale per accedere
al valore contenuto dalla variabile non devi deferenziare nulla,
ci accedi come una qualunque altra variabile
int i = 5;
int &ref = i;
int *ptr = &i;
x accedere ad i tramite il ptr devi scrivere *ptr; mentre tramite il
ref ... ref;
*ptr = 8;
assert(ref == 8)

 che cavolo e'?? non riesco a capire
Un riferimento ad intero. In due parole č come se fosse un puntatore
costante che puň essere referenziato senza l'utilizzo dell'operatore di
dereferenza (piů o meno).
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

leggi questo codice:
class Negozio{
Articoli &art;
....
articoli e' una classe definita in precedenza che deve essere implementata
quando si crea un oggetto negozio
quindi con &art indico l'indirizzo di una classe Articoli che si chiama
genericamente art?
grazie
Marcello

 genericamente art?
No, indichi il riferimento ad un oggetto della classe Articoli. Ma
attenzione che il riferimento stesso devi inizializzarlo nella lista di
inizializzazione del costruttore e non nel corpo in quanto il
riferimento diventa non più assegnabile non appena si entra nel corpo
del costruttore.


Folgorato da brillante idea, Bear ha scritto il 07 Mar 2003  
(news:zlY9a.23488$
zo2.6...@news2.tin.it
):

GUarda qui!
http://groups.google.com/groups?selm=9d1v3t%24qmi%241%
40serv1.albacom.net
&oe=UTF-8&output=gplain
-- 
"Non mi piace il football, sta troppo ovunque: secondo me, l'eccesso di
calcio va a discapito del fosforo." (Marc 'O Chivec)
http://www.geocities.com/fabienstein
Newsgroup: it.comp.lang.c++
Titolo: Da C++ a C

Ho letto in qualche libro che i compilatori  traformano il codice C++
in codice C come se avessero delle istruzioni specifiche da
preprocessore  e poi lo compilano.
Se questo e' vero, e' possibile vedere questo "pseudocodice" prima che
venga compilato?
[OT]. Nella memory window del mio compilatore(Visual C++) appaiono
vicino all'indirizzo di una cella di memoria 20 caratteri, credo tutti
esadecimali. Se la cella e' a 32 bit dovrei avere solo 8 caratteri
esadecimali, gli altri cosa sono?
Grazie infinite.

 preprocessore  e poi lo compilano.
Si, ma diversi anni fa, ora non esiste piu' questa conversione.
--
/* C Ya!
 * TIMWorld: Flash News senza confini per utenti TIM,
 * scrivi a 
TIMWorld-...@yahoogroups.com
 o 
www.timworld.tk
 * Cut "DO NOT DISTURB" to reply */

 Si, ma diversi anni fa, ora non esiste piu' questa conversione.
Eccezione fatta per il compilatore di Greg Comeau:
http://www.comeaucomputing.com/
Ho anche sentito dire che il cfront e ancora adoperato, ma non sono in grado di
confirmarlo.
Claudio Puviani

Newsgroup: it.comp.lang.c++
Titolo: Precisazioni sul passaggio puntatore a oggetti

Avevo scritto il precedente messaggio poichè il mio compilatore (Borland per
dos...un pò vecchio) nel seguente caso mi dava errore di compilazione:
class A{
public:
   void send(B* p, const char * s);
};
class B{
.....
};
int main()
{
  A a1;
  B b1;
  a1.send(&b1);
  return 0;
}
Penso che sia un problema di "età" del mio compilatore.
Grazie a tutti.
                                                Riccardo
P.S. Ho preso anche del principiante!!

 Grazie a tutti.
La funzione send accetta due parametri. Come conti di riuscire a compilarlo?
Ciao
-----
Giovanni Bajo
Lead Programmer
Prograph Research S.r.l.
http://www.prograph.it

 Penso che sia un problema di "età" del mio compilatore.
No, penso che sia la mancanza della 'forward declaration' di cui sopra.
La sintassi del C++ (per malnata eredita` dal C) e` impossibile
da parsare senza sapere quali identificatori sono nomi di tipi, e
quali no.  Il C++ recente ha la nuova keyword _typename_ che
(in certi casi) ti permette di informare il compilatore "questo e`
il nome di un tipo" senza ancora sbilanciarti sul "tipo di tipo"
(class, struct, enum); comunque, essa e` tipicamente applicabile
solo nel contesto di template.  Negli altri casi (e sempre, in C++
antiquato) devi comunque informare il compilatore, tipicamente
con "forward declaration" come quella qui esemplificata.
Alex

Newsgroup: it.comp.lang.c++
Titolo: Utilizzare gli script (???)

Qualcuno puo' darmi informazioni su come utilizzare gli script all'interno
di un programma? Mi servono per settarne le impostazioni senza ricompilare
il tutto ogni volta.
HELP!!!

 il tutto ogni volta.
Non e` un tema legato allo standard C++; esso non ha alcun
concetto di "script".  Chiedi sul gruppo dedicato alla tua
specifica piattaforma d'interesse.
Alex

 ha scritto:

Grazie.
Newsgroup: it.comp.lang.c++
Titolo: Header string o string.h: problemi

Salve a tutti!
Non riesco a capire se il compilatore accede al file string o string.h
In sostanza ho delle difficoltà a dichiarare una variabile
string nome
perché mi dice che l'identificativo (string) non è stato dichiarato, sebbene
includa
#include <string>
o
#include <string.h>
Devo sempre usare la sintassi std::stringa nome?
Perché in Linux no? Forse perché è fatto meglio? Purtoppo ho necessità di
lavorare in Windows.
Grazie
Eddy

 ha scritto nel messaggio
news:77Wv8.58969$SR5.1...@twister1.libero.it...


 Perché in Linux no? Forse perché è fatto meglio? 
Non è una questione di sistema operativo, ma di compilatore. Alcune
versioni del gcc non si comportano in modo conforme allo standard per
quanto riguarda il namespace std e consentono cose che non dovrebbero
essere consentite.
Max

Grazie
In questo caso da errore perché l'header <string.h> non c'entra un
tubo con le 'string' del C++, ed in tale header vi sono le
dichiarazione delle funzioni C per la manipolazione di stringhe.
Solitamente in C++ si utilizza 
#include<cstring>
che mette tutte queste funzioni sotto il namespace std.
Il Ghenio
---------
// TODO: Place your ass here

 che mette tutte queste funzioni sotto il namespace std.
Chiariamo per evitare confusione: in C++ si usa, per le stringhe C++,
#include <string>
 mentre #include <cstring> significa includi string.h mettendo tutto nel
namespace std, e string.h contiene le funzioni per le stringhe C (cioè
quelle dichiarate con
char * stringa;
)
Newsgroup: it.comp.lang.c++
Titolo: VC++ 6 oppure VC++ 5?

Ciao a tutti,
dovendo acquistare un ambiente di sviluppo per un progetto SW, sono in
dubbio se continuare con VC++ 5.0 (standard di societa') o upgradare
a VC++ 6.0.
Vi sono bachi in quest'ultimo?
Conviene migrare verso esso?
Grazie
--
Tiberio Grasso
Tecnomare SpA
R&D, Robotics and Space
Tel: 
+39-041-796711
Fax: 
+39-041- 796800
e-mail: 
gras...@tecnomare.it

Conviene migrare verso esso?
Non ho trovato nuovi bachi in VC++6 (con SP1) rispetto a VC++5
(con SP3), nel mio modesto testing sinora del primo, e le varie nuove
feature comode suggeriscono, se hai una macchina veloce, di usare
il VC++6 (se la macchina e` lenta, le feature IntelliSense ecc non si
usano molto bene, quindi il discorso e` piu` incerto).
Alex
Newsgroup: it.comp.lang.c++
Titolo: auto_ptr<T> con T polimorfa...

Ciao a tutti,
perchè questo codice non funziona?!
*********************
class A {
};
class B : public A {
};
auto_ptr<A> Factory()
{
    A* tmp = new B;
    return auto_ptr<A>( tmp );
}
int main( void )
{
    auto_ptr<A> ptr( Factory() );
    return 0;
}
**************************
Compila, ma ottengo un segmentation fault ( leggi: crash ) nel momento in
cui ritorno dalla funzione Factory().
Qualcuno ha idea del perchè?
GRAZIE
Daniele.

 wrote in message
news:8jf4hl$90i$1...@nslave1.tin.it...

Un errore che nel tuo codice c'e` di sicuro, anche se non e`
detto se e quando un dato compilatore te lo faccia pagare, e`
che la class A non ha distruttore virtuale.  Il distruttore
di auto_ptr<A> implicitamente esegue un delete sul puntatore
che mantiene, e come e` ben noto cancellare un oggetto la cui
classe di runtime e` una classe derivata, attraverso un puntatore
a una classe base, e` ben definito se, e solo se, la classe base
ha distruttore virtuale.
Nota bene che nel subject parli di "T polimorfa" ma le classi
che stai usando non sono polimorfe manco per niente, non
hanno di virtuale neppure una pagliuzza, infatti.
Dubito che sia questa la vera causa del tuo problema, che
dovrebbe infatti, se mai, dare un crash piu` avanti, al
distruttore di ptr; non si puo` escludere, poiche` nei casi
di undefined behavior il compilatore fara` cio` che vuole,
ma sarebbe strano che l'errore causasse il crash nel preciso
punto da te indicato.
A parte quello, il tuo codice sembra corretto; puo` darsi
quindi che sia il tuo compilatore ad avere problemi...?
Alex

 Alex
Sicuramente usa il Borland che utilizza  la libreria Rogue Wave, che su
auto_ptr (pur avendo una dichiarazione identica allo standard) lascia un
po' a desiderare nella definizione (dai un'occhiata al file "memory.h").
Fausto

 po' a desiderare nella definizione (dai un'occhiata al file "memory.h").
Assolutamente non uso il Borland. Uso il gcc di LINUX.
Daniele.


Comunque, sempre in questo caso, un'altra cosa mi ha lasciato perplesso:
io avevo una gerarchia di tipo fork-join ( una classe base, due classi
derivate "public-virtual" e un' ultima classe derivata pubblicamente da
entrambe. )
Nella classe base avevo un costruttore non di default (  es.:
ase::Base( int ) ),
In una di quelle derivate avevo un altro costruttore non di default ( es.:
Derived1::Derived1( int ) ) che chiamava Base::Base( int ).
Nell'ultima classe ( derivata da Derived1 ) avevo un costruttore
Derived2::Derived2( int ) che chiamava Derived1::Derived1( int ).
Ebbene, creando Derived2( int ) veniva chiamato il costruttore
Derived2( int ), quello Derived1( int ) e quello Base( void ) : quello di
default!!!!!!!!!!!!
Questo comportamento quantomeno bizzarro immagino sia dovuto
all'ereditarietà virtuale.
Ma c'è un modo più furbo di aggirare il problema oltre che chiamare
esplicitamente il costruttore giusto della classe base anche nell'ultima
classe derivata?!
GRAZIE mille.
Daniele.

 classe derivata?!
Non conosco altri modi, ne` piu` furbi ne` meno.
Alex
Newsgroup: it.comp.lang.c++
Titolo: funzioni statiche

ciao,
chi mi spiega la differenza con le funzioni "normali"?
grazie
--
Tiberio Grasso

 chi mi spiega la differenza con le funzioni "normali"?
Una funzione static e` usabile solo entro il file-sorgente
in cui e` definita; una non-static, anche da altri file (a
patto naturalmente che essi ne vedano una _definizione_).
Il ruolo della keyword "static" e` naturalmente diversissimo
(e non c'entra nulla con quanto sopra!) se parliamo di
funzioni-membro invece che di funzioni.  Nel caso dei
membri, gli static sono NON connessi a una _istanza_,
i non-static invece sono connessi a una istanza.
Alex

 chi mi spiega la differenza con le funzioni "normali"?
Quando una funzione è dichiarata static questa è visibile solo nella sua
translation unit (il suo file sorgente). Se parliamo di funzioni membro
invece static significa che può essere invocata senza far riferimento ad
un'istanza particolare. Es.:
T obj;
obj.funzioneNormale();     // Funzione membro "normale"
T::funzioneStatic();     // Funzione membro static
EMG
Newsgroup: it.comp.lang.c++
Titolo: Q:La classe OWL

Ho appena iniziato lo studio del C++( ver.Borland 3.1) e non so come
utilizzare la classe owl( ma è una classe?). Inoltre quando compilo un
programma il compilatore mi dice che mancano degli oggetti ...che invece ci
sono!!! Penso che mi manchi qualche link( provo i programmi implementati
sotto DOS) o similia. Potete aiutarmi? 

sotto DOS) o similia. Potete aiutarmi?
OWL non funzione sotto MS-DOS.
OWL sta per Object Windows Library (sottolineo Windows).
Comunque da grande appassionato di OWL, che per altro utilizzo in molte mie
applicazioni commerciali, ti consiglio di aggiornarti ed insistere.
Per quanto mi riguarda, rinnovo la mia disponibilità
Ciao, Stefano
~~~~~~~~~~~~~~~~~~~ Stefano Mazzotti ~~~~~~~~~~~~~~~~~~~~
from Faenza, Ravenna, Italy
Email: 
smaz...@racine.ra.it
 | 
smaz...@geocities.com
Web:   
http://www.geocities.com/SiliconValley/Lakes/2799
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Newsgroup: it.comp.lang.c++
Titolo: Programmare C ed ATL

Ciao a tutti!
Sono un programmatore VB, ASP, Javascript da parecchio tempo, questo giusto 
per dire che non parlate con un neofita, ma qualcosa so....
:-)
ieri mi sono imbattuto in questo articolo su msdn
http://msdn.microsoft.com/msdnmag/issues/0600/w2kui2/
che mi ha interessato molto. si parla di C ed ATL, di javascript, il tutto 
per poter programmare piccoli script da integrare nelle classiche finestre 
di esplora risorse.....
ho programmato in C, ma solo in ambiente dos, e ATL non lo conosco 
proprio....
la domanda č: che compilatore devo/posso usare per compilare quelle piccole 
righe di codice riportate nell'articolo? questo č il  link diretto al 
sorgente
http://msdn.microsoft.com/msdnmag/issues/0600/w2kui2/w2kui2figs.asp#fig11
mi date per favore qualche indicazione di massima?
grazie, ciao!
-- 
Alletun
"Se ti va di spassartela adesso
Prendi il Vettore oggi stesso."
Terre Desolate - Stephen King 

 grazie, ciao!
secondo me sei ot ...  però provo a darti una mano
C= è una cosa ,
Javascritp = è una cosa ,
Atl = è una cosa
Ti assicuro che usare atl senza conoscere c++ e in particolar modo i 
template non è cosa buona
Atl  + una libreria interamente basata sui template del c++ , non ho visto 
l'articolo ma il fatto che salti il nome
javascript credo che sia  perchè tramite atl puoi "creare" dei componenti 
binari che una volta compilati possono essere utilizzati
dal altri programmi / linguaggi
esempio più che classico ado,
Ti ho dato un pò di info anche perchè questo non  il posto giusto, e 
comunque l'argomento è abbastanza complesso.
Ciao :-)

 grazie, ciao!
Beh, non sarai neofita ma sei uno sprovveduto per quanto riguarda i 
newsgroup: hai nominato 1000 cose ma nessuna che sia 'in topic' qui.
Se prima avessi letto le faq avresti cercato altrove. Fallo ora, per favore.

 favore.
:-/
se proprio pensi che sono uno sprovveduto, vai su 
groups.google.com
, cerca 
author:alletun e vedrai!
:-/
credo di essere sprovveduto quando si parla di C++, questo sě, e siccome 
nell'articolo si parla di programmazione con questo linguaggio, mi era 
sembrato giusto chiedere qua. Anche perchč piů che altro volevo avere 
qualche info, come dicevo, su qualche compilatore interessarmi, su ATL e via 
dicendo.
Se sono OT, ovviamente chiedo scusa a te e a tutti quanti per il mio post.
good coding!!!


 good coding!!!
Non hai afferrato il mio post: sei OT, non hai menzionato ASSOLUTAMENTE 
il C++ ed ATL non e' standard, visto che questo ng tratta di C++ *STANDARD*.
-_-
Newsgroup: it.comp.lang.c++
Titolo: STAMPARE IN C O C++

Sto cercando un sistema di indirizzare lo standard di uscita STAMPANTE.
Penso di aver provato in tutti i modi ma ho solo scoperto che non esiste
uno stream standard direttamente collegato con la stampante.
Ho inoltre scoperto che in Pascal esiste un metodo molto semplice di fare
cio' (-write(lpt1......)- o qualcosa di simile) ma che purtroppo credo non
abbia nessun dialogo con il driver di stampa usato dal sistema operativo
(infatti fa bloccare la stampante prima di aver stampato qualcosa e
attende la forzatura alla stampa -almeno, questo avviene con la mia
HP-Deskjet 600!-).
Chiedo a qualche poveraccio che si sia trovato nella mia stessa situazione
di aiutarmi a trovare una libreria o un comando disponibile sotto C o C++
della Borland sotto ambiente Dos, capace di farmi stampare una stringa di
caratteri SOTTO RICHIESTA quando il mio programma e' in normale
esecuzione!
Ho gia' letto qualcosa che dice di chiamare il mio programma con
l'indirizzamento alla stampa anziche' alla visualizzazione con un comando
di questo tipo:
		file>lpt1
o qualcosa di simile.
Per favore non rispondetemi che questa e' l'unica via d'uscita possibile
perche' non posso risolvere il mio problema con una tale rudimentale
soluzione in quanto nello stesso programma ho bisogno anche di stampare
a video e non mi sembra un buon compromesso, anche qualora mi fosse
possibile (ma ripeto non lo e'), dover riavviare il programma per ciascuna
delle due esigenze!!!
RINGRAZIO INFINITAMENTE CHI O COLORO CHE DECIDERANNO DI AIUTARMI.  

 .........
Se poi vuoi stampare usando la grafica le cose si complicano.
Spero di averti dato qualche spunto.
Bye by Lucio       ;-)

Newsgroup: it.comp.lang.c++
Titolo: Catturare evento tastiera

Ciao tutti,
sto facendo un programmino console che deve
fare anche da cronometro. Lo vorrei controllare
con il tasto SPAZIO, ma non ho idea di come catturare
l'evento di tastiera.
Ho cercato e ho trovato solo qualcosa che dovrebbe andare
bene con MFC&VC++, ma io uso gcc.
Qualcuno ha una dritta?
grazie
ciao
-- 
[ blackstar(-at-)ticino(-dot-)com ]

 
Il modo di "catturare" un evento tastiera non è ovviamente standard.
Le differenze non sono però dovute all'uso di compilatori diversi (VC++ 
o gcc) ma a sistemi operativi diversi e interfacce utente diverse 
(console, GUI).
Per avere risposte più esaurienti ti conviene quindi scrivere sui 
newsgroup che trattano del sistema opertivo per cui vuoi realizzare il 
programma.
Dato che hai nominato MFC suppongo che si tratti di Windows.
Per questo puoi scrivere su:
it.comp.programmare.win32

Newsgroup: it.comp.lang.c++
Titolo: se volete potete

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

Salve a tutti,
facendo delle prove mi sono accorto che l'operatore delete applicato ad un 
array nel consueto modo:
delete []v;
non mi dealloca realmente l'array...
Scrivo qui sotto il codice per rendere più chiare le cose:
    const int dim = 5;
    float *v = new float[dim];
    for( int i = 0; i  < 5; i++ )  // do' a tutti gli elementi dell'array 
valore 56
        v[i] = 56;
    for( int i = 0; i  < 5; i++ ){     // questo ovviamente stampa 56 56 56 
56 56;
        cout << v[i] << "   ";
        cout << v << endl;
        }
        cout << endl;
    delete []v;        //dovrebbe cancellare la locazione di memoria cui 
punta *v
    for( int i = 0; i  < 5; i++ ){    // questo ciclo dovrebbe stampare 
numeri casuali invece stampa
        cout << v[i] << "   ";        // 0 56 56 56 56
        cout << v << endl;
        }
        cout << endl;
/* la domanda è perchè nn è stata deallocata la memoria? */
Grazie in anticipo per l'aiuto,
Aleander 

 non mi dealloca realmente l'array...
Ti sbagli. Il codice che hai scritto dealloca proprio l'array.
 > delete []v; //dovrebbe cancellare la locazione di memoria cui punta *v
Non so che cosa intendi con "cancellare", ma se intendi "sovrascrivere", 
allora non hai chiaro che cosa significa "deallocare". In realta' 
"deallocare" significa rendere disponibile per successive allocazioni. 
Normalmente la deallocazione non sovrascrive la memoria deallocata ne' 
con valori fissi ne' con valori casuali, se non limitatamente a qualche 
byte, utilizzato dall'algoritmo di gestione della memoria dinamica.
Per verificare sperimentalmente la deallocazione prova a scrivere le 
seguenti due righe appena dopo l'istruzione "delete []v;".
   v = new float[dim];
   cout << v << endl;
Probabilmente otterrai che il nuovo indirizzo di v e' uguale al precedente.
Se a questo punto, elimini l'istruzione "delete []v;", sicuramente (se 
l'allocazione non fallisce) otterrai che il nuovo indirizzo di v e' 
diverso dal precedente.
 > questo ciclo dovrebbe stampare numeri casuali
Se per numeri casuali intendi numeri indefiniti, o impredicibili, allora 
qualunque risultato tu abbia dovrebbe essere soddisfacente. Se invece 
intendi campioni di una distribuzione statistica, allora ti sbagli.
-- 
     Carlo Milanesi
 
http://digilander.libero.it/carlmila

 qualunque risultato tu abbia dovrebbe essere soddisfacente.
Sì intendevo questo, mi insospettiva solo il fatto che i valori puntati 
fossero
quasi uguali a quelli precedenti la deallocazione, ma in effetti perchè mai 
il compilatore
dovrebbe preoccuparsi di cambiarli?
Ti ringrazio, per avermi levato questo dubbio...
Byez!

Newsgroup: it.comp.lang.c++
Titolo: [OT] version info in c++ builder

Esiste il modo di ottenere i quattro numeri della Version Info di un project 
scritto con C++ Builder.
I quattro numeri sono ovviamente major e minor version. la release e il 
build.
grazie a quanti risponderanno 


Qui sei OT. In ogni caso non esistono metodi specifici, devi usare le
API di Windows. MSDN is your friend!
Ciao,
Nicola