mii-community/UsenetArchiveIT-conversations huggingface dataset:
Newsgroup: it.comp.lang.c++
Titolo: pack per creare stringa binaria

 [C++] Pack per creare una stringa binaria
Salve,
volevo sapere se in C++ esiste una funzione simile a Pack in Perl.
Nello specifico mi serviva per creare stringhe binarie composte da:
Key (lunghezza fissa 4 Bytes) + Lunghezza Value (lunghezza fissa 4 Bytes) + 
Value
Quindi ad esempio:
KEY1....VALUE
Dove KEY1 � la chiave (4 Bytes) poi .... sono quello che qu� intendo come 
non printable chars (4 Bytes) che descrivono la lunghezza di VALUE, infine 
VALUE.
Cosi che possa creare una stringa binaria tipo:
KEY1....VALUEKEY2....VALUE etc...
in Perl avrei fatto qualcosa come:
codice:
my $key       = 'KEY1';
my $value     = "Hello World!";
my $value_len = length $value;
my $res       = $key . pack("N", $value_len) . $value;
Dove la N di Pack sta per:
Citazione:
"N" - an unsigned long (32-bit) in "network" (big-endian) order. 

 my $res       = $key . pack("N", $value_len) . $value;
Se capisco bene cosa fa pack("N",...) puoi ottenerla cos�:
unsigned long int Endian_DWord_Conversion(unsigned long int dword) {
    return ((dword>>24)&0x000000FF) | ((dword>>8)&0x0000FF00) | 
((dword<<8)&0x00FF0000) | ((dword<<24)&0xFF000000);
}
std::string packN(unsigned long int dword) {
    dword=Endian_DWord_Conversion(dword);
    return std::string(reinterpret_cast<const char *>&dword,
       sizeof(dword));
}
...codice non testato.
E.
Newsgroup: it.comp.lang.c++
Titolo: significato operatore  :

salve,
che significato ha l'operatore ":"? l'ho trovato nel seguente contesto:
void setArsaveriId(std:string id);
graziue, delio
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 
L'operatore a cui fai riferimento probabilmente non e' ":" ma "::",
come in std::string o std::vector.
E' anche chiamato "operatore di scope", serve per specificare lo "scope" 
(non mi viene il termine in italiano) di un tipo o variabile.
E' normalmente utilizzato per specificare tipi definiti in uno o piu' 
namespace (come std::string => classe string definita nel namespace std).
Puo' anche essere usata per eliminare ambiguita' legate all'uso di 
variabili con lo stesso nome in differenti scope, esempio:
int count = 0;
int main()
{
   int count = 0;
   ::count = 1;  // set global count to 1
   count = 2;    // set local count to 2
   return 0;
}
Nel caso precedente le variabili "count" sono 2, una globale e una 
locale nella funzione main(). All'interno della funzione main() si deve 
usare l'operatore di scope per specificare l'uso della variabile globale 
(::count).
--
Roal Zanazzi

 void setArsaveriId(std:string id);
E' un refuso, oppure hai sbagliato a copiare.
 void setArsaveriId( std::string id ); 
Ma se non l'hai riconosciuto da solo significa che probabilmente non sai 
cos'è 'std::string' o cos'è il namespace 'std'. E' spiegato in quasiasi 
manuale.
M

 (non mi viene il termine in italiano) di un tipo o variabile.
Secondo me "ambito" è una buona traduzione ;)
Andrea.
-- 
Andrea Santambrogio
Website: 
http://www.brainage.org/
PGP key ID: 0xD5C048CA
PGP mail accepted and encouraged

 (non mi viene il termine in italiano) di un tipo o variabile.
Ambito di visibilità, oppure solo ambito.
Se vogliamo essere precisi non specifica lo scope di una variabile. Lo 
scope è una proprietà statica determinata al momento della dichiarazione 
della variabile. I :: permettono invece di accedere ad una variabile 
fuori dallo scope corrente.
Scusami era solo per puntigliosità :-)
ciao

 
Figurati, hai fatto bene a precisare, in effetti a volte tendo ad essere 
troppo sintetico (soprattutto quando vorrei esprimere i concetti in modo 
semplice).
La mia frase voleva essere qualcosa del tipo "serve per specificare come 
accedere allo "scope" di un tipo o variabile".
Ma in effetti anche cosi' non e' chiarissimo...
Mi era venuto in mente anche l'analogia di un indirizzo postale, ma 
cosi' avrei creato altra confusione (indirizzo, ahi, ahi...).
:-)
--
Roal Zanazzi

 Scusami era solo per puntigliosità :-)
Vogliamo essere ancora più precisi?
La variabile non ha scope, ma soltanto lifetime.
E l'identificatore? Neanche quello ha scope!
In realtà è la coppia (identificatore, variabile) ad avere scope.
Per es. considera
// A
int i;	// var x_0
{
   // B
   int i;   // var x_1
}
Vengono create due variabili x_0,x_1 alle quali viene associato 
l'identificatore 'i'.
Lo scope di (i,x_0) è A\B, mentre quello di (i,x_1) è A.
Kiuhnm
Newsgroup: it.comp.lang.c++
Titolo: Visual C++

Sono circa 2 anni che programmo sotto linux in c/c++ sistemi basatu su 
consol e socket. Ho deciso di provare a tempo perso il visual c++ 6 
della M$ ma non riesco a fare nulla . Come faccio a fare una finestra 
con un solo bottone? NOn trovo da nessuna parte i tolls necessari.Fa 
tutto cio che non voglio, barre , menů , finenestre + o - utili ma un 
rad per fare un bottone no!
Dove sbaglio!
GRAZIE
<<SAX>>
E-mail:
linefin...@tiscalinet.it
Web Page:
http://xeus32.altervista.org

 Dove sbaglio!
Il newsgroup piu' adatto e' it.comp.programmare.win32.
Detto questo non puoi pensare di imparare la programmazione windows a
tentativi.... Devi studiare e documentarti!
Con il VC++6 hai due scelte (principalmente): API o MFC. Una di queste due
le devi studiare!
Ad esempio con le API, basta includere:
#include<windows.h>
e poi fare:
MessageBox(NULL,"testo","testo",MB_OK);
Ovviamente questa e' una banale messagebox, ma il principio e' questo....
Per creare finestre avrai un'altra funzione, mentre per le finestre di
dialogo puoi usare un comodo editor e mettere in controlli dove vuoi con le
comode toolbar.
Il "rad per fare un bottone" ovviamente esiste! Hai cercato poco! (sia con
API che con MFC, la differenza che con MFC e' abbastanza rad, ovvero
cliccando due volte ti apre automaticamente la funzione in cui gestire
l'evento, con API, invece, una volta "disegnato" il bottone con il comodo
tool grafico sta a te gestirlo a mano!).
Questo ha davvero poco a che fare con il C++ standard, quindi ti consiglio
di studiarti le API o le MFC (classi attorno alle API) e nel caso di dubbi
postare sul NG adatto.
Tommy
Newsgroup: it.comp.lang.c++
Titolo: Compatibilità con Internet?

Con C++ si può sviluppare una procedura che operi su Internet (Tipo leggere
e scrivere su un file del tuo sito)??
In che maniera? Con la stessa procedura della gestione reti?
Grazie

 In che maniera? Con la stessa procedura della gestione reti?
Ci sono miriadi di approcci, dall'uso delle nude e crude socket
(che e` tipicamente la tecnologia di piu` basso livello usata dai
programmi applicativi che accedono a Internet), su, su, sino
all'uso di protocolli ad oggetti distribuiti come CORBA, DCOM,
SOAP, o altri livelli di astrazione ancora maggiori.
Proprio perche` il C++ e` un linguaggio ad _amplissimo_ spettro,
esso supporta tutte queste diversissime scelte architetturali e
progettuali.  Di conseguenza, bisogna avere le idee molto, ma
molto piu` chiare (rispetto al poco che qui esprimi) per potere
rispondere, relativamente alle operazioni da compiere, al grado
di ottimizzazione, al tipo di controllo che hai sul software
istallato ai due (o piu` di due) estremi del canale di comunicazione.
Ad esempio, se, su "il tuo sito" (presumibilmente un server...?), non
hai particolare controllo amministrativo, ma puoi contare sui tipici
protocolli di medio livello (FTP, HTTP), allora e` sicuramente del
tutto fattibile sviluppare clienti FTP e HTTP in C++ (e` anche, quasi
sicuramente, fatica sprecata, visto che potresti riutilizzare codice
gia` fatto da altri, in termini di librerie da chiamarsi da C++, o
meglio ancora di pacchetti per linguaggi piu` semplici ed a maggior
grado di astrazione, come Python -- ma, didatticamente, potrebbe
anche essere una scelta valida).  Ecc, ecc.
Alex
Newsgroup: it.comp.lang.c++
Titolo: NG su BCB

Qualcuno mi potrebbe consigliare un Forum o un NG per la
programmazione su BCB 6?
grazie

 programmazione su BCB 6?
news://
newsgroups.borland.com
Mieru

Newsgroup: it.comp.lang.c++
Titolo: cb4 o vc6 ?

Salve!
  mi domandavo... ci sono progetti, la cui realizzazione e'
  possibile con uno dei due compilatori ed impossibile con
  l'altro?
  Quale e' il migliore? Penso sia soggettivo... ma gradirei
  lo stesso un parere...
			grazie mille by maurizio
*****************************************************************************
+                                                                          
+	HAPPY SURFING ON THE NET !!                     	Ciao!!!
+        								
+	                                by
+
+							  C R I X 98
+
***************************************************************************
--
Posted from 
mta4.iol.it
 [195.210.91.154]
via Mailgate.ORG Server - 
http://www.mailgate.org

  lo stesso un parere...
Builder. IMHO è più coerente ed elegante. Gli eseguibili sono un
capellino meno veloci, ma la velocità di sviluppo è assolutamente
inconfrontabile.

Newsgroup: it.comp.lang.c++
Titolo: Grafica a basso livello

Come posso caricare modalita grafiche usando l'asm al
interno del C++ ?
Fin ora son riuscito solo a caricare le modalita predefinite,
quelle vecchie che arrivano solo a 460x480, ma se volessi
caricare per esempio  una 800x600 con 16m di colori ?
(sempre in asm)
Mi han detto che dovrei sapere le caratteristiche della sk video...
...è vero ? :-P
Le sapete ?
io ho una Ati match 64, ma non sono riuscito a trovarle !!
Ciao & Grazie !
________
Giovanni A. D.
^^^^^^^^^^^^^^^^^^^^^^

Un bel di' Giovanni A. D. scrisse:
GAD> Fin ora son riuscito solo a caricare le modalita predefinite,
GAD> quelle vecchie che arrivano solo a 460x480, ma se volessi
GAD> caricare per esempio  una 800x600 con 16m di colori ?
GAD> (sempre in asm)
GAD> 
Si puo', si puo', ed e' anche semplice (se hai una VESA).
Pero' dipende molto da cosa devi fare: se e' per disegnare funzioni, va bene...
Se e' per fare un giochino, non va bene: ti ritrovi con una grafica troppo
lenta da gestire!
In questo caso la cosa migliore e' una 320x200x256.
Sembra una risoluzione del cavolo, ma tutto sta nella tua abilita' grafica:
mescolare colori, fare sfumature...
Un sacco di giochi, anche belli, sono fatti in 320x200x256, e spesso non
ce ne accorgiamo tanto sono "fatti" bene :-)
GAD> Mi han detto che dovrei sapere le caratteristiche della sk video...
GAD> 
GAD> ...è vero ? :-P
GAD> 
+ o - :-)
GAD> Le sapete ?
GAD> io ho una Ati match 64, ma non sono riuscito a trovarle !!
GAD> 
No, non so le caratteristiche della s.v. (nemmeno della mia).
Soprattutto non ricordo nemmeno (a mente) come entrare in modalita' grafica.
Comunque sono 3 righe di assembler :-)
Se sei ancora interessato, fammi sapere (anche via mail) :-)
-- 
"La necessita' procura strani compagni di letto", quarta legge di Farber
-- 
Emanuele Cesena
d.a.m...@iol.it
    occhio all'antispam NOSPAM!
http://www.geocities.com/SiliconValley/Grid/8879
Newsgroup: it.comp.lang.c++
Titolo: controlli dinamici con borland c++ builder3

volevo sapere se (con borland c++ builder 3) è possibile creare un
controllo (nel caso specifico un'immagine) dinamicamente (nel
costruttore del form che contiene il controllo) che sia cliccabile e
gestibile
grazie
beppemassi

beppemassi wrote:

Perchè non dovrebbe essere possibile?!?!?
Un oggetto (immagine, controllo etc...) è sempre una classe!!
come puoi creare una classe in modo dinamico, o un array di classi, non 
vedo perchè non
puoi fare lo stesso con un controllo immagine che è sempre una classe!
Newsgroup: it.comp.lang.c++
Titolo: Switch

Volevo scrivere questo switch...
switch (numero) {
	case 1:
	case 3:
		cout << "dispari"; break;
	case 2:
		cout << "pari"; break;
	default:
		break;
}
...e invece ho scritto questo...
switch (numero) {
	1:
	3:
		cout << "dispari"; break;
	2:
		cout << "pari"; break;
	default:
		break;
}
...poi perņ mi č venuto il dubbio anche su questo:
switch(numero) {
	case 1: 3:
		cout << "dispari"; break;
	case 2:
		cout << "pari"; break;
	default:
		break;
}
Il secondo switch viene compilato dal Borland 5.5 senza problemi, ma
il codice generato esegue sempre e solo il primo caso.
Cosa dice lo standard? Sono legali gli ultimi due switch? E' giusto
che nel secondo switch venga eseguito sempre e solo il primo caso?
Grazie per le risposte.

che nel secondo switch venga eseguito sempre e solo il primo caso?
Si', perche' non hai fatto un uso corretto delle label per il salto
alle diverse condizioni.  Hai solo usato delle label generiche.

 che nel secondo switch venga eseguito sempre e solo il primo caso?
Si, č corretto.
EMG

Newsgroup: it.comp.lang.c++
Titolo: utilizzare i comendi crt sotto Unix o Linux

Esiste una libreria per linux o unix che implementa le funzioni gotoxy(),
textcolor etc etc
Grazie ReDiCuori

 textcolor etc etc
man curses (o man ncurses)
-- 
Maurizio Loreti                         
http://www.pd.infn.it/~loreti/mlo.html
Univ. of Padova, Dept. of Physics - Padova, Italy            
lor...@pd.infn.it
Murphy's law: "Anything that can go wr
/bin/fortune: segmentation fault - core dumped

Newsgroup: it.comp.lang.c++
Titolo: "buona suddivisione" in oggetti


-- 
Posted from [212.131.204.2] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

Prova a questo indirizzo, forse si può applicare al tuo problema
http://www.riehle.org/papers/1996/plop-1996-product-trader.html
MM

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

Innanzitutto Grazie Per I Suggerimenti che mi avete dato, ma avrei ancora
qualche domanda da fare:
1) Come Si Indicano Gli Oggetti Che io Normalmente uso In Visual Basic In
Sintassi C++
2) Che Funzioni hanno Le Parentesi Graffe Nella Sintassi C++
3) Ho Notato molti esempi in cui trovo un comando #include Cosa significa?
4) Quali sono i Comandi Principali?
    GRAZIE....
PS. Ora mi scarico Il Manuale...

PS. Ora mi scarico Il Manuale...
Fai bene, comunque se usi le maiuscole correttamente sarà più facile
leggerti la prossima volta.
PS: cosi scriverai anche più velocemente 8-)
Luc

 wrote :
| PS. Ora mi scarico Il Manuale...
Oltre a questo, prova sul newsgroup news:it.comp.programmare.win32 :
sicuramente e' piu' adatto al tuo problema.
Newsgroup: it.comp.lang.c++
Titolo: Funzioni con parametri non specificati

Salve,
vorrei sapere solo una cosa:
le funzioni con un numero di parametri imprecisato a che servono?
Se non do il parametro nell'implementazione della funzione, come faccio a 
gestirlo?
Non sarebbe utile se ci fosse un array di parametri a disposizione?
Es.
int pippo (int x, int y, ...) {
        param[0] = 3;
        param[1] = 5;
        param[2] = "ciao";
        return param[0] + y;
};
dove param[] è un'array già predefinito dallo standard....
ovviamente dovrebbe essere un array i cui elementi devono supportare tutti 
i tipi dato (magari solo i primitivi più le stringhe... si potrebbe 
implementare con i template forse? Io sono ancora agli inizi e non so 
usarli) e ovviamente (in questo caso) devo fare una chiamata alla funzione 
simile a:
int ival, ival2;
string str;
pippo (1, 2, ival, ival2, str);
Grazie
-- 
Luigi
--
bug windows [5] = {"95", "98", "NT", "Me", "2000"};

dove param[] è un'array già predefinito dallo standard....
Non ho capito il tuo esempio: perche' assegni ad un parametro
che e' stato passato per valore ? immagino che intendessi scrivere
qualcosa come:
   int somma(...)
   {
     int tot=0;
     for (int i=0; i<param_size; i++)
       tot+=param[i];
     return tot;
   }
Il problema e' che il C++ e' un linguaggio tipizzato e non
esiste il concetto di array eterogeneo. Si potrebbe passare un
array di puntatori agli argomenti e la funzione stessa dovrebbe
decodificare con un cast di puntatore il tipo di argomento passato.
Questo sarebbe decisamente non in linea con lo spirito del
linguaggio C++.
HTH
Andrea
--
Andrea Griffini, Programmer
http://www.netservers.com/~agriff

 linguaggio C++.
E già, ma forse è sbagliato seguire lo spirito piuttosto che l'efficienza :)
Ciao 


 E già, ma forse è sbagliato seguire lo spirito piuttosto che l'efficienza :)
Ma nel caso in esempio lo spirito e' proprio riferito all'efficienza,
mentre il tuo esempio no.
Ciao,
Nicola
Newsgroup: it.comp.lang.c++
Titolo: SCANSIONE PORTE + veloce

Sto lavorando (aggiornando) un portscanner in C++ e il mio problema
ora e':
come posso fare (se c'e un modo) per velocizzare il processo?
 - il codice [semplificato] e' il seguente: 
--------------------- pezzetto :-P -----------------------------
 if(connect(sock, (struct sockaddr*)&dati,sizeof(dati))
                       {
	               printf(" %s            %u           APERTA
\n\a",nomeip,n);
   	               closesocket(sock);
                       }
                    else 
                       { 
                       printf(" %s            %u           chiusa
\n",nomeip,n); 
                       }
---------------------- pezzetto :-P ----------------------------- 
Ogni volta che si esegue questo controllo (inserito in una FOR)
bisogna attendere circa un secondo per ogni tentativo...
C'e allora un modo per velocizzare il controllo?
ciao
Bun]{er
-> Home: 
http://bunkersite.cjb.net
-> E-mail: scorp...@NOSPAMtin.it

 C'e allora un modo per velocizzare il controllo?
Usare socket non bloccanti e controllare (dopo) quanti se ne sono aperti ?
Massimo

Usare socket non bloccanti e controllare (dopo) quanti se ne sono aperti ?
Si, ci avevo pensato...ma il mio problema e' che tutto quello che so
sui socket e' frutto di studio da altri sorgenti...
Cosa intendi per "non bloccanti" (tolgo closesocket();)?
E poi come fare per controllare il tutto alla fine? Dovro' mettere
qualcosa da qualche parte quando la porta e' aperta o no?
Se magari mi fai un esempio anche stupido te ne sarei davvero grato...
Ah, a proposito...c'e qualche manuale da scaricare da internet sulla
programmazione del winsock in C++?
Grazie


 Se magari mi fai un esempio anche stupido te ne sarei davvero grato...
Mi piacerebbe, ma non ne ho sottomano e francamente non mi ricordo granché
:-(
Massimo

Se dichiari come register la variabile all'interno del ciclo for, forse un
pò si velocizza.
Ciao Gianni
-- 
Posted from 
laguna.tiscalinet.it
 [195.130.224.86] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 qualcosa da qualche parte quando la porta e' aperta o no?
un socket non bloccante e' un socket che non blocca l'esecuzione del
programma in attesa che sia stabilita la connessione
sotto unix crei un socket:
int sock=socket(AF_INET,SOCK_STREAM,0);
quindi, poiche' sotto unix tutto e' un file, usi fcntl per manipolare il
file descriptor del socket
fcntl(sock,F_SETFL,O_NONBLOCK)
se tutto va bene dovrebbe restituire 0
ciao Bun]{er
-- 
Home: 
http://kronoz.tsx.org
Un apostolo vedendo Gesu' camminare sulle acque:
- Cazzo se e' buono 'sto fumo!!!

ciao Bun]{er
ciao Kronos

Newsgroup: it.comp.lang.c++
Titolo: RAGA' MI SERVE AIUTO

Salve a tutti,
vi volevo chiedere se qulacuno avesse una guida in c++ da potermi
inviare... grazie
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 inviare... grazie
Ma tu quanto ne sai?
-- 
Luc.

 
so di essere scortese, ma non si tratta di una domanda gia' risposta nelle 
FAQ del ng? E per di + viene postata ogni 2gg...
Scusate,
Giulio
-- 
PGP Key fingerprint = 1A94 043F 1946 7AA9 CB2E  D5ED F83D 2083 25B4 2E27

 FAQ del ng? 
forse non le ha lette le FAQ considerando il subject in maiuscolo...


Newsgroup: it.comp.lang.c++
Titolo: Cos'è un APIENTRY?

Ho cercato il significato della parola riservata APIENTRY presente in molti
header di visual c++.
Qualcuna sa cosa significa e perchè non è documentata?


E se non lo sai tu... :-)))
EMG

 header di visual c++.
APIENTRY č solo il tipo di chiamata a una funzione, ma NON č una parola
riservata (anche se in vc praticamente lo č) ma una macro.
da windef.h:
#if (_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED)
#define CALLBACK    __stdcall
#define WINAPI      __stdcall
#define WINAPIV     __cdecl
#define APIENTRY    WINAPI
#define APIPRIVATE  __stdcall
#define PASCAL      __stdcall
#else
#define CALLBACK
#define WINAPI
#define WINAPIV
#define APIENTRY    WINAPI
#define APIPRIVATE
#define PASCAL      pascal
#endif
Newsgroup: it.comp.lang.c++
Titolo: indirizzi IP

Salute a tutti,
non è da molto che programmicchio in C, C++ e sono già alle prese con bel
problema:
Tramite un'applicazione creata in C o C++ devo settare l'indirizzo IP della
scheda di rete, ho cercato un bel po' in giro ma non ho idee...
thx a tutti =)
--
RiX

Ciao,
Questo newsgroup si occupa del linguaggio C++ in quanto tale, e non di
aspetti specifici di particolari implementazioni. Per questo non e' il
posto piu' adatto per porre domande specifiche come la tua.
Potresti avere piu' fortuna su uno dei seguenti gruppi:
Per Win32 (95, 98, NT): it.comp.programmare.win32
Per Dos/Win 3.x: it.comp.os.dos
Per Linux:	it.comp.os.linux.development
Per C++Builder:	i gruppi borland.public.cppbuilder.*, disponibili sul
		server 
newsgroups.borland.com
 (prevalentemente in
		inglese, ma si puo' postare anche in italiano)
Grazie,
Nicola Musatti

chiedo scusa =P
RiX
--
"Nicola Musatti" <Nicola....@ObjectWay.it> ha scritto nel messaggio
news:aplk1n$2o8a3$1...@ID-32913.news.dfncis.de...

Newsgroup: it.comp.lang.c++
Titolo: Il mio primo programma

Ciao a tutti! Volevo informare tutti che ho appena finito di scrivere il
mio primo programma in C++. Si tratta di un'implementazione del gioco
"Forza 4" in modalità console, scritta usando solo costrutti standard
(almeno credo). Se c'è qualcuno di voi che lo vuole vedere e magari
darmi dargli un giudizio per cercare di migliorarmi sarò ben contento di
mandarglielo.
Ciao a tutti
Anto
-- 
Antonio Cuni
ICQ: 82732649
VUOI GUADAGNARE RICEVENDO MESSAGGI SUL CELLULARE?
Ecco il sito che fa per te:
http://www.smscash.it/index.php3?pagid=reg&p_form=P&p_pres=0&cpre=218101&p_desc=1

darmi dargli un giudizio per cercare di migliorarmi sarņ ben contento di


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

Salve,
mi è capitato a volte di vedere delle finestre di programmi a forma di
cerchio o a forma diversa.
Come faccio fer crearne una?
Grazie

 wrote in message
news:asFUN1V8$GA....@news-02.uni.net...

Dipende dalla piattaforma, quindi devi chiedere nel newsgroup relativo
alla tua piattaforma, tipo it.comp.programmare.win32, non qui.  Ricordati
di dire anche quale framework usi (se su Linux, Gnome o KDE o ...; se
su Windows, MFC o API nude o ATL o VTL o ...).
Alex
Newsgroup: it.comp.lang.c++
Titolo: il _valore_ di un oggetto :)

Ammettiamo di creare un oggetto
class Grump
{
public:
	Grump();
	~Grump();
}
e poi le varie funzioni etc etc... e' possibile fare in modo che
magari creando degli overloading, sia possibile una cosa del genere:
Grump tze;
int valore = tze;
Cioe'... che la classe senza chiamate a funzioni ritorni un valore int?
Ho implementato gia' la cosa ma correntemente devo chiamare una funzione
int valore = tze.val();
....
il c++ permente di fare una cosa simile!?
-- 
Wave++, member of EventOrizon software
http://members.xoom.it/wavexx

 ha scritto nel messaggio
news:8k577v$ubn$1...@news.IT.net...

SI : esempio
class Grump
{
 public:
 Grump();
 ~Grump();
 operator int() /* const oppure no */
          return 0; // o quello che vuoi
  };
}

 wrote in message
8k577v$ubn$1...@news.IT.net...
| Ammettiamo di creare un oggetto
| class Grump
| {
| public:
| Grump();
| ~Grump();
| }
[...]
| Grump tze;
| int valore = tze;
[...]
| il c++ permente di fare una cosa simile!?
prova con
int Grump::operator int()(const Grump& g);
vale per qualsiasi tipo: dipende dall'implementazione di Grump. se una
classe contiene solo proprieta' di tipo int, e' difficile che ritorni uno
std::string, ma dipende sempre da cosa tu decidi debba ritornare e come lo
implementi.

 int valore = tze;
Certo, basta che la classe Grump abbia un
    operator int()
o una qualche variazione che permetta la conversione
automatica e senza ambiguita`.
Ad esempio:
    class Grump {
        short s;
    public:
        Grump(short s=0): s(s) {}
        operator short() const { return s; }
    };
qui Grump e` praticamente uno "short incapsulato" e
puo` tranquillamente usarsi la sintassi che proponi.
Alex

}
devi dichiarare un operatore di conversione a int
e poi implementarlo
class Grump {
  public:
     operator int();
};
Grump::operator int() {
  /* ... */
}
Paolo
--------------------------------------------------
  Paolo Marotta
  Computer Science, University of Pisa
  home:   
http://www.cli.di.unipi.it/~marotta
--------------------------------------------------

 int Grump::operator int()(const Grump& g);
Il parametro non dev'esserci: 
int Grump::operator int();
Ciao,
Nicola
Newsgroup: it.comp.lang.c++
Titolo: Namespace e compilazione

Supponiamo di avere un programma che usa funzioni di un namespace:
#include "lib.h"
main()
{
 nome::f();
}
Dove lib.h č fatta cosě:
namespace nome
{
 void f();
}
Supponiamo ora di voler estendere l'interfaccia di lib.h aggiungendo una
funzione:
namespace nome
{
 void f();
 void g();
}
la funzione g, perň non č usata dal programma principale. LA domanda č: c'č
bisogno di ricompilare comunque il programma principale???
SE al posto del namespace avessimo a che fare con una classe, non avrei
dubbi in proposito (bisognerebbe ricompilare), ma i namespace mi lasciano
perplesso. Voi che dite?

 bisogno di ricompilare comunque il programma principale???
Il modo piu' sicuro per non dover ricompilare e' inserire g() sempre nel
namespace nome, ma in un altro include, ad es.:
// lib2.h
namespace nome {
  void g();
}
Questo funziona perche' i namespace possono essere riaperti. Nota pero'
che il fatto che tu debba *rilinkare* o meno il tuo programma dipende da
se hai modificato la translation unit (file .cpp) che contiene f() ed in
parte dalla tecnologia che usi (per esempio se usi librerie dinamiche o
no).
Ciao,
Nicola
Newsgroup: it.comp.lang.c++
Titolo: template function in NON template class HELP terribly needed!!!!

 }
Devi mettere anche la definizione del template nell'header file.
EMG

Devi mettere anche la definizione del template nell'header file.
Con un po' di ritardo ci sono arrivato da solo... Mille grazie per lo
spirito di collaborazione.
Hanno intenzione di fare q.cosa? Non c'è un work around? E' qualche cosa di
generalizzato o è implementation/compiler dependent?
Su un altra FAQ (un C++ DEC???) veniva spiegato un sistema strano multi
header per la def dei template, ma la cosa mi è sembrata bizzarra.
Gli header sono belli proprio perchè sono corti e ti dicono solo quello che
ti serve sulle funzioni che ti accingi ad usare.
rimane sempre il problema della leggenda degli export...
Su una FAQ sembrava centrasse qualche cosa ma l'argomento era preso solo di
striscio... quindi nessuna conclusione.
Ancora grazie

 rimane sempre il problema della leggenda degli export...
Non ne so niente.
EMG

Non ne so niente.
mmm qui c'è q.cosa ma sinceramente quando ho capito che apparteneva alle
categoria dei "forse, domani, vorremmo, c'è ma non ne ho visto uno" ho
evitato di cercare di capire ;)
http://www.ses.com/~clarke/cpptips/export
enjoy yourself ;)

 
http://www.ses.com/~clarke/cpptips/export
Grazie. Visiterollo.
EMG
Newsgroup: it.comp.lang.c++
Titolo: Classe matrice

Ciao a tutto l'NG,
come forse avrete sospettato dal titolo sono ancora bloccato con questa
maledetta Classe!
Grazie per i suggerimenti e correzioni ricevute, ma purtroppo ci sono ancora
delle cose che il compilatore (VC++ 6.0) non accetta. Sotto vi riporto il
codice così ci capiamo meglio:
**************** Header file *******************
#if !defined(AFX_MATRIX_H__D11BB341_9C2A_11D4_AC40_00A024D93336__INCLUDED_)
#define AFX_MATRIX_H__D11BB341_9C2A_11D4_AC40_00A024D93336__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include <vector>
template <class T> class CMatrix
{
private:
 typedef std::vector<T> riga;
 std::vector<riga> body;
public:
 CMatrix();
 CMatrix(int i, int j);
 virtual ~CMatrix();
 void SetSize(int i, int j);
 void GetSize(int &i, int &j);
 std::vector<T> &operator[](int i) {return body[i];};
 const std::vector<T> &operator[](int i) const {return body[i];};
};
#endif //
!defined(AFX_MATRIX_H__D11BB341_9C2A_11D4_AC40_00A024D93336__INCLUDED_)
****************************************************************************
********
********************** Cpp file *********************************
#include "stdafx.h"
#include "TLM.h"
#include "Matrix.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
template <class T>
 CMatrix<T>::CMatrix()
 {
 }
template <class T>
 CMatrix<T>::CMatrix(int i, int j)
 {
  SetSize(i,j);
  return;
 }
template <class T>
 CMatrix<T>::~CMatrix()
 {
 }
template <class T>
void CMatrix<T>::SetSize(int i, int j)
{
 int k;
 body.resize(0);
 body.resize(i);
 for (k = 0 ; k < i ; k++)
  body[k].resize(j);
 return;
}
template <class T>
void CMatrix<T>::GetSize(int &i, int &j)
{
 i = body.size();
 if (i) j = body[0].size;
 else j = 0;
 return;
}
***************************************************************
Ora il problema principale che non capisco è: perché se nella finestra
laterale, dove è  rappresentata la struttura delle varie classi, mi dice
"Cannot find the implementation (definition) of this function". Se compilo
la classe non mi dà problemi, ma se provo da usarla ad es in un'altra classe
 CMatrix<int> matrice();
 matrice.SetSize(3,3);
la seconda riga me la segna errata tornando il seguente errore:
error C2228: left of '.SetSize' must have class/struct/union type
Mi sono letto tutte le parti del manuale in linea riguardanti il comando
Template e gli esempi riportati sono praticamente identici alla mia
implementazione, quindi dove sta questo errore? Dov'è che sto sbagliando
ancora?
Grazie ancora a tutto l'NG per l'aiuto.

  CMatrix<int> matrice();
Togli le parentesi.
  CMatrix<int> matrice;
Max

 ha scritto nel messaggio
news:Pine.LNX.4.10.100101...@c64.comm2000.it...

Newsgroup: it.comp.lang.c++
Titolo: Eccezioni

E meglio usare un controllo sui valori di ritorno di una data funzione o
usare le eccezzioni???
HO sentito che appesantiscono il cod, è vero????
Tnk 1000000000

 HO sentito che appesantiscono il cod, è vero????
'Eccezioni', con una z;
le risposte sono identiche qualunque sia il numero di punti 
interrogativi (escluso il fatto che usarne piu' di uno a me da l'idea di 
una scenetta surreale in cui un personaggio viene a chiedermi in modo 
esagitato queste genere di domande... immagino non sia quello il senso)
a parte queste critiche futili e inutili :) -
E' meglio usare le eccezioni per indicare condizioni 'eccezionali', come 
dice il nome. Se fai una funzione per leggere da uno stream di dati, e 
c'e' un errore di I/O, questa e' una situazione eccezionale, di errore. 
Invece, se non ci sono byte da leggere dallo stream, questa e' una 
normale situazione, ed userai i meccanismi normali per 'dirlo' 
(ritornare un valore, puntatori/reference, ecc...). In genere: usa le 
eccezioni per indicare errori, ed evita i valori di ritorno, che possono 
essere ignorati.
Appesantiscono il codice... questo e' da vedere. Non conosco le 
ottimizzazioni fatte, ma anche se non ce ne fossero, stai sicuro che non 
influenzeranno loro le performance del tuo programma, quindi ignora 
questo fatto. Inoltre, essendo le eccezioni dedicate ad eventi 'fuori 
dal comune', sara' raro che vengano effettivamente lanciate/catchate, e 
quindi possono avere pure prestazioni pessime, ma non ti daranno 
problemi in media.
-- 
/**
  * Mattia Belletti - Undergraduate student @ 
cs.unibo.it
  * ICQ: 33292311   - email: 
mbel...@cs.unibo.it
  * IRC: BluShine   - site(s): 
http://cs.unibo.it/~mbellett
  * Linux registered user 299762 @ Linux registered machine 213003
  */

Molto chiaro, grazie :D

 HO sentito che appesantiscono il cod, è vero????
Un blocco try/catch puo' rallentare in modo trascurabile (3%), purche'
non sollevi eccezioni.
L'istruzione throw e' invece circa 1000 (mille) volte piu' lenta di una
chiamata di funzione (cioe' intorno ai 15000 cicli di CPU, il che
significa circa 8 microsecondi per una CPU di 2 GHz).
In sostanza, usa tranquillamente i blocchi try/catch, con l'eccezione
dei loop piu' interni. Usa la throw solo per gestire eventi
"eccezionali", come un fallimento di una chiamata al sistema operativo.
Non usarla per scopi algoritmici, se non per segnalare il fallimento
dell'algoritmo.
-- 
	Carlo Milanesi
 
http://digilander.libero.it/carlmila

 HO sentito che appesantiscono il cod, è vero????
è vero e posso descrivere in dettaglio come e quanto. Se è un problema, 
evitale del tutto
-- 
  < 
http://www.reactos.com/
 >  Open source clone of Windows NT. Current
      Don't stand, REACT!      version 0.1.5. C, C++ and ASM developers
                               and beta testers are welcome!

 evitale del tutto
Mi spieghi come, se nn ti è di troppo disturbo?
Newsgroup: it.comp.lang.c++
Titolo: DRIVER MICROSOFT ACCESS

Ho appena iniziato a programmare in C++ con Borland Builder 3 (Standard
- Ita - Build 3.70).
Ho il seguente problema:
Voglio creare una tabella Access, e agisco cosě:
1) Lancio Database Desktop
2) Dal menů File seleziono New, Table
3) Appare la Form "Create Table" 
4) Seleziono il table type "Microsoft Access Driver (*.mdb)
5) Confermo con "OK" e...
Appare la seguente Form Error:
"Cannot load an IDAPI service library.  File: IDODBC32.DLL"
Immagino che il problema sia la mancanza del suddetto DLL, infatti non č
presente nemmeno sul CD.
Si tratta di questo ?
Con la versione standard di Builder 3, non dovrebbero essere inclusi
anche i driver per MS ACCESS ?
Grazie in anticipo, e ... scusate se ho posto domande da idiota. 
Purtroppo esistono anche i pivellini :-(
---------------------------------------------------------------
Tiziano Succi
ufficio...@lampogas.it

Prova di risposta, dammi una mano, mandami un messaggio!!!

presente nemmeno sul CD.


 l'InstallShield for C++Builder fornito insieme al compilatore ...
Come mai non è presente sul CD di Builder 3 standard ?
Grazie
Tiziano Succi
ufficio...@lampogas.it

Come mai non è presente sul CD di Builder 3 standard ?
Non so, io ho la versione Professional. In ogni caso genera setup in
inglese, quindi se vuoi qualcosa di migliore e in italiano penso che dovrai
orientarti su Install Shield 5 Professional Edition.
Ciao.

Newsgroup: it.comp.lang.c++
Titolo: Warning alla compilazione.

Scusate se la domanda č un po' banale, ma sono un neofita del C++. Comunque,
alla compilazione (MS VC++ 6.0 Std) ricevo questo warning:
warning C4551: function call missing argument list
che punta a questo codice
for(int I = 0; NameArray->lenght; I++)
{
 ...............
}
come mai avviene ciň? Grazie in anticipo. E scusate x il disturbo :D

CrOmOsOmA wrote:

Avresti piu' possibilita' di essere aiutato se postassi un pezzo di 
codice minimale che evidenzia il problema, ma che sia _compilabile_.
Ad esempio: cos'e' NameArray, com'e' definito?
P.S. "lenght" si dovrebbe scrivere "length"...
-- 
Roal Zanazzi

 for(int I = 0; NameArray->lenght; I++)
Non ci sono abbastanza informazioni per dare una risposta precisa,
pero` (tirando a indovinare) potrebbe essere che length e` una funzione
e il compilatore ti avverte che probabilmente volevi scrivere
NameArray->length() con le parentesi.
        Mauro

 P.S. "lenght" si dovrebbe scrivere "length"...
e soprattutto se fosse un container dovresti aggiungere le () della funzione
;-) quindi:
 for(int I = 0; NameArray->lenght(); I++) // se fosse cmq giusta la scritta
lenght ;-)
e poi cmq quello che stai chiamando e' una funziona che ritorna 0 quando
arrivi alla fine dell'array o solo una funzione che ti indica la sua
lunghezza ... se indicasse solo la lunghezza dovresti scrivere pure:
for(int I = 0;I < NameArray->lenght(); I++)
seno' avresti creato il solito loop infinito ;-)
ciao

> come mai avviene ciň? Grazie in anticipo. E scusate x il disturbo :D
Si si scusate! Avevo risolto mancavano solo le parentesti dopo length(), ho
trovato tutto su MSDN. Scusate :D

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

Salve ragazzi qualcuno mi saprebbe dire come  compilare  un programma con il
compilatore della Borland del C++ dalla riga di comando?
--
Ammanicato del sistema!!!
ICQ # 84624356



La cosa migliore è scrivere un makefile. Ad esempio:
# sample makefile - Assume BCCDIR è impostata come variabile d'ambiente
yourprogram.exe: yourprogram.obj
yourprogram.obj: yourprogram.cpp
.cpp.obj:
    $(CPP) $(CPPFLAGS) -I$(BCCDIR)\include -c {$? }
.obj.exe:
    $(CPP) $(CPPFLAGS) -L$(BCCDIR)\lib $<
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Dr. Dario de Judicibus
http://www.dejudicibus.it/
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Newsgroup: it.comp.lang.c++
Titolo: salvare come bitmap

Ciao,
avrei bisogno di un aiuto: ho creato un progetto MDI con VC++ 6. All'interno
della finestra ci sono alcune bitmap e del testo. Ora, come posso salvare
tutto ciò come un file di tipo bitmap, in modo tale che il file venga letto
non solo dal mio programma ma anche da Paint? In pratica ho creato una
versione più semplificata di Paint.
Esistono forse già dei programmi che svolgono questa funzione?
grazie
Albiert

non solo dal mio programma ma anche da Paint?
http://www.codeproject.com/bitmap/drawing2bitmap.asp
per maggiori info:
http://www.codeproject.com/bitmap/gditutorial.asp
Newsgroup: it.comp.lang.c++
Titolo: help: implib del Borland C++ builder

Salve
avrei bisogno del comando IMPLIB del Borland C++ builder...
Io ho la versione 1.0 del BC++ Builder e stranamente ne e'
sprovvisto....
in alternativa mi servirebbe il file glut32.lib per il Borland C++
Builder
Grazie
--
Posted from 
ro...@mail.ats.it
 [195.62.227.25]
via Mailgate.ORG Server - 
http://www.mailgate.org


esiste il Borland C++ Builder 3 standard , sempre gratuito e
completo lo puoi trovare sulle riviste dedicate e contiene tale
utility oltre a molte innovazioni.
Esiste anche il free borland c/c++ compiler 5.5 un compilatore a linea di
comando moolto buono e gratis, downlodabile dal sito 
www.inprise.it
  e
contiene tale utility.
Ciao
-- 
=========================================
 HELP!! ... per rispondere rimuovere
  il virus WINZOZZ dalla mia e-mail !!!
=========================================

Newsgroup: it.comp.lang.c++
Titolo: Tool free per C++!

Esiste sulla rete un tool free per programmare in C++?
Qualcuno mi sa consigliare qualche sito da cui scaricare anche un'
approfondita documentazione?

approfondita documentazione?
www.mindview.net
 scarica Thinking in C++
--
Lawrence Oluyede
rhy...@myself.com

Ho provato ad utilizzarlo ma è un po ostico.
Ciò che mi manca rispetto agli altri ambienti di sviluppo è una barra dove è
possibile sceglieri gli oggetti da disegnare sulla propria GUI. Esiste
un'altro tool che velocizza la creazione delle applicazioni tipo Visual
Basic o Visual C++?

 wrote:

se devi imparare il C++ non ti servono ambienti RAD
cmq non mi sembra che Visual C++ sia RAD :) almeno fino al
6.0
cmq allora scarica la trial di Borland C++ Builder dal sito
della borland
--
Lawrence Oluyede
rhy...@myself.com
Newsgroup: it.comp.lang.c++
Titolo: MI5 Persecution: Bernard Levin 1/6/96 (1385)

,
: 
bu...@torfree.net
 (Mike Corley) quoted a typical, overblown Bernard Levin
: piece, which sounds exactly like any number of other pieces by Levin over
: the past thirty years.
 
: He then goes on to draw an anguished parallel with a totally unrelated
: incident that had happened between him and a friend a few days earlier.
 
It is in the same style as his other pieces, but it's so close to what
actually happened a few days previously, that it's completely reasonable
to assume that someone told Levin about the meeting, hammed it up a
little bit and motivated him to write that article.
 
Look at the parallels;
 
1.  "madman running loose about London"
 
2.  it's about a meeting which took place recently
 
3.  the police are called (he must be controlled, however much that
consumes in resources)
 
4.  he might be violent, approach with caution, yes we're laughing but
really we're afraid of him, or is it perhaps our own propaganda that
we're letting manipulate us
 
5.   he "bursts into tears, and swears it's all true - and it is" a very
exaggerated impression of the conclusion of that meeting
Don't worry if you don't believe me, neither my friend to whom I
explained this nor my GP believe me either (until the friend found out
otherwise!). If someone just presented this to you as I am presenting it
now then I wouldn't find it credible (most likely), so it's not until you
actually find out it's true that you can find it credible. And by then
it's too late, because they've got you in their trap and explained how
"funny" the abuse is.
1385
--
Posted via NewsDemon.com - Premium Uncensored Newsgroup Service
      ------->>>>>>
http://www.NewsDemon.com
<<<<<<------
Unlimited Access, Anonymous Accounts, Uncensored Broadband Access



Newsgroup: it.comp.lang.c++
Titolo: alternativa a noskipws

Ho bisogno di sapere in quante colonne è diviso un file di testo, sapendo
che il file di testo è diviso in colonne tramite tab oppure spazi. La cosa
più semplice è contare quanti di questi caratteri sono presenti nella prima
riga, per far questo devo usare il manipolatore noskipws mentre leggo un
char alla volta. Ho bisogno di un alternativa perché questo programma deve
girare sotto root, il quale si basa sul c++, ma non è proprio standard e
usando nospikws si impianta.

leggi con std::getline() e cerca spazi e tap nella stringa ottenuta.
Ciao,
Nicola
Newsgroup: it.comp.lang.c++
Titolo: Documentazione su ATL, COM e OLE

Cerco informazioni sul modello COM e sulla libreria ATL che non siano legati
all'uso del VC++.
Possono essere utili siti, newsgroup e libri, meglio se in Italiano, anche
se su questo ho poche speranze!
Grazie a Tutti.
Massimiliano Trezzi

se su questo ho poche speranze!
In Italiano é probabile che trovi le traduzioni, edite da
Mondadori Informatica, dei testi Microsoft Press; tra
questi: quello di David Chappell come introduzione
generale ad ActiveX, COM, e tecnologie connesse;
"Inside Com" come testo piú tecnico e dettagliato.  Non
credo ci sia molto altro, né nulla sull'ATL in particolare.
In inglese, puoi partire con la mia breve introduzione:
http://magenta.com/~alex/ComEtc/briefest.htm
ho anche altri articoli piú approfonditi, sempre in
inglese, ma non li ho ancora "epurati" di dati proprietari
del mio datore di lavoro per poi copiarli sul mio sito
personale a Magenta.Com -- potrei farlo se ci fosse
richiesta.  Nell'articolo trovi anche puntatori ad alcuni
"siti in rete per incominciare" (Microsoft e non).
Il miglior libro in assoluto sul COM, secondo
me, é "Essential COM" di Don Box, Addison-Wesley
(il COM lo inizia da zero, ma di C, C++, ecc, é meglio
che uno se ne intenda giá parecchio prima di iniziare!).
Sin qua col Visual C++ non c'é molto rapporto.  Venendo
all'ATL, invece, visto che essa é normalmente connessa
appunto al Visual C++ (cosí come lo sono le MFC, per
esempio), sará difficile che tu riesca a trovare testi su
ATL "non legati al Visual C++".  Comunque, se riesci a
scaricare e usare ATL (almeno 2.1) con altri compilatori,
il testo "Beginning ATL COM Programming" della WROX
Press, o in subordine il testo di Armstrong, dovrebbero in
ogni caso poterti tornare utili.
Ancora sull'ATL, c'é un newsgroup sotto microsoft.public
(al server 
msnews.microsoft.com
, mi pare) e una mailing
list (archiviata tra l'altro su 
www.resource.com
, mi pare).
Alex

Ciao,
    nell'area Libraio del mio sito sono recensiti 51 libri tutti riguardanti
la programmazione in C++. Non ho avuto il tempo di controllare, ma se ci dai
un'occhiata qualcosa lo tovi di sicuro.
A presto :-)
Marco Abis
http://welcome.to/C++Warriors
 sito interamente dedicato al C++
http://www.geocities.com/SiliconValley/Foothills/6336
  dedicato al C++
ab...@mv.itline.it
--
Automatic posted from root@[194.184.89.4]
via Mailgate Server - 
http://www.mailgate.org
Newsgroup: it.comp.lang.c++
Titolo: algoritmo remove_if

Dopo la chiamata a remove_if mi aspetterei che il vettore v cambi
dimensione (da 10 a 7 elementi, nell'esempio sotto),
ma ciň non si verifica (viene conservata la stessa dimensione). 
Nell'output gli ultimi n elementi del  vector (n = numero degli elementi
da rimuovere) sono
gli stessi prima della chiamata a remove_if.
#include <vector>
#include <iterator>
#include <algorithm>
#include <iostream>
using namespace std;
typedef pair<float, int> value;
typedef vector<value>::iterator iter;
class MaggioreDi
{
public:
    MaggioreDi(int s): s_(s){};
    bool operator()(value m)
    {
        return (m.second > s_);
    }
private:
        int s_;
};
void print(vector<value> v, iter it)
{   
	int n = 0;
   for(it = v.begin(), n = 0;
	    it != v.end(),  n < v.size();
		 ++it, ++n)
   {
   	cout << 
v.at
(n).first <<  "  " << 
v.at
(n).second << endl;
   }
}
int main(int argc, char *argv[])
{
   vector<value> v;
   iter it;
   iter it2;
 
   v.push_back(value(2.1, 1));
   v.push_back(value(3.1, 2));
   v.push_back(value(4.1, 1));
   v.push_back(value(5.1, 1));
   v.push_back(value(6.1, 1));
   v.push_back(value(7.1, 4));
   v.push_back(value(8.1, 1));
   v.push_back(value(9.1, 1));
   v.push_back(value(10.1, 3));
   v.push_back(value(12.1, 1));
 
 
 
   cout << "vettore originale ( " << v.size() << " elementi )" << endl;
   print(v, it);
 
 
   remove_if(v.begin(), v.end(), MaggioreDi(1));
 
 
   cout << endl << "vettore ripulito ( " << v.size() << " elementi )" <<
endl;
 
   print(v, it);
 
   v.clear(); 
   cout << endl;
   system("PAUSE");
   return 0;
}
Ciao.
Sergio
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 gli stessi prima della chiamata a remove_if.
Gia'! Cambia:
remove_if(v.begin(), v.end(), MaggioreDi(1));
in:
iter nuova_fine =  remove_if(v.begin(), v.end(), MaggioreDi(1));
e poi subito dopo chiama:
v.erase(nuova_fine,v.end());
Se leggi la documentazione di remove_if, e anche solo di remove, ti accorgi 
che devi chiamare erase dopo la chiamata a remove.
Un'altra lettura interessante a riguardo e' "Effective STL, Meyers (2001)".
Tommaso Galleri
Newsgroup: it.comp.lang.c++
Titolo: Meglio Borland C++ 5 oppure BC++ Builder?

 Voi che mi consigliate?
(Premetto che già programmo in Borland C++ 4.5)
Grazie
--
Demetrio Filocamo (
demfi...@geocities.com
)
Home Page: 
http://www.geocities.com/Area51/Zone/2354
2° URL: 
http://demetrio.home.ml.org
3° URL: 
http://dfilocamo.home.ml.org
--==-- Non credere a chi ridendo ti dice TI AMO --==--
--==--      Ma a chi piangendo ti dice AMAMI      --==--


Vi sono delle differenze rilevanti nei due ambienti, e
personalmente li ritengo validi tutti e due.
Borland C++ 5.02 e' la versione ultima del compilatore 5 ed ha
raggiunto un buon livello di stabilita'. Le classi OWL 5 sono
molto stabili e ricche di funzionalita' e sono piu' C++ delle
VCL di C++Builder. Queste ultime si basano su quelle di Delphi
ed essendo scritte in Pascal non supportano l'ereditarieta' 
multipla (niente di grave... anzi). Borland C++ 5.02 non e'
per niente visuale e quindi segue la programmazione tradizionale
con tutte le frustrazioni del caso.
Borland C++ Builder reppresenta una interessantissima novita'
nel campo della programmazione C++. E' un ambiente RAD come
Delphi o Visual Basic, ma usa il linguaggio C++. L'ambiente e'
perfettamente identico alla versione Delphi 2.01, da cui ha 
derivato l'intera libreria di classi VCL. Per questo motivo
Borland ha dovuto effettuare delle modifiche al linguaggio C++
aggiungendo alcune estensioni rendendolo, per quanto riguarda
la VCL, non standard con l' ANSII C++. Il compilatore usato
per il liguaggio C++ e' quello della versione 5.02, quindi
molto affidabile e potente.
Personalmente ho abbandonato un po la programmazione tradizionale
con Boland C++ 5.02 a favore di C++Builder per i seguenti motivi:
- velocita' di realizzazione delle applicazioni a 32 bit per 95/NT
- facile uso di tutti i controlli 95/NT
- ottimo e facile supporto ai database per le applicazioni di cui 
  ne fanno uso
A te la scelta.
------------------------------------------------
  Osvaldo Ciurleo -- Lucos Sistemi Informativi
   C/C++:  Sviluppo - Consulenza - Formazione
E-Mail: 
osw...@tin.it
 - 
http://web.tin.it/lucos

Newsgroup: it.comp.lang.c++
Titolo: Forse OT ma senza farlo apposta!

Mi spighereste vagamente cosa sono le SQL?
Grazie infinite, se č OT mi dispiace, l'unica cosa che so č che riguardano
la programmazione!
Ciao
Francesco

 Mi spighereste vagamente cosa sono le SQL?
Vai su: it.comp.software.database
-- 
Luc.

SQL è un linguaggio di programmazione interpretato, quindi implementato
all'interno di altro ambienti più complessi, che serve a creare e gestire
database.
Non ha nulla a che vedere con C++, quindi non credere che sia una componente
del linguaggio o cose simili. Si tratta di un vero e proprio linguaggio a se
stante. Puoi trovare maggiori notizie sui newsgroup che si occupano di
database.