mii-community/UsenetArchiveIT-conversations huggingface dataset:
Newsgroup: it.comp.lang.c++
Titolo: Confusione tra stringhe e bool

Salve a tutti, ho appena notato un comportamento anomalo di gcc. Ho 
creato una classe con i costruttori overloaded in particolare tre:
Dbg(string ph);
Dbg(int num);
Dbg(bool flg);
quando invoco nel seguente modo
Dbg("prova");
viene chiamato il costruttore che prende come argomento bool... Se tolgo 
il costruttore che accetta come parametro bool allora il costruttore 
viene invocato correttamente (cioč quello con string). Per quanto 
riguarda string sto usando quelle delle librerie standard di C++. 
Qualcuno sa spiegarmi perchč scambia la stringa per un valore booleano?
Grazie in anticipo.
Matteo

 Qualcuno sa spiegarmi perchè scambia la stringa per un valore booleano?
Il letterale stringa "prova" decade in un puntatore a char che a sua volta
viene convertito in bool.
Si tratta di una conversione *standard*, che prevale sulla conversione
*user-defined* tra puntatore a char e std::string.
Puoi aggiungere un construttore che accetti un const char*.
Max

 
Fatto e funzionante (almeno per ora ;-)) grazie per l'aiuto.
Matteo

 viene chiamato il costruttore che prende come argomento bool... 
La conversione al tipo bool (che se non erro è un intero) prevale 
sull'operatore di string che consente il cast. In entrambi i casi la 
conversione è possibile, la prima ha precedenza. 
Per evitare problemi, suggerirei di aggiungere un costruttore che accetta 
un char* (anzi, const char*).
Newsgroup: it.comp.lang.c++
Titolo: Un grande progetto

Carissimi NewsReader,
    vi scrivo per chiedere la vostra collaborazione.Io ed altri abbiamo
fondato una città virtuale ospitata gentilmente da 
GIOCO.NET
(
http://gioco.net
) .
Questa comunità virtuale nominata provvisoriamente AtheNet
(
http://gioco.net/atene/
 ) ha bisogno di programmatori esperti per la sua
realizzazione. Per entrare nello staff di AtheNet bisogna conoscere almeno
uno dei seguenti linguaggi:
perl,html,javascript,c++ e inoltre saper utilizzare il CGI (ricollegabile al
PERL).
Nessuno pagherà, dato che la città NON è a scopo di LUCRO, ma la
soddisfazione vi riempirà di GIOIA.All'interno della città virtuale i
programmatori saranno gli Dei ecc.....
Per + info scrivete a 
ze...@gioco.net
Grazie
Zeus

 programmatori saranno gli Dei ecc.....
He he he!
Ma perchè hanno tutti grandi idee, ma non hanno programmatori (potrei
definirla la "materia prima"?) e non vogliono pagarli, neanche un tanto al
kilo?
--
Alessandro Monti

Beh.....questo è un progetto NO-PROFIT e veniamo ospitati da SERVER GRATUITI
di ASP e da 
gioco.net
 per il resto!!!
Quindi....
ZEUS

Più che altro mi domandavo come mai a qualcuno viene in mente di fare un bel
grande progetto informatico (do programmazione) quando non ha programmatori.
Se a me viene in mente una bella idea per realizzare una centrale nucleare,
subito dopo mi ricordo che non so niente di centrali nucleari :-)
A scanso di equivoci, preciso che volevo solo fare una battuta, che Zeus non
se la prenda.
In effetti per un gioco conta più l'idea che non la realizzazione...
parteciperei volentieri, ma temo di non essere un così esperto programmatore
nè di avere molto tempo in questo periodo.
--
Alessandro Monti
Newsgroup: it.comp.lang.c++
Titolo: fstream.h

Salve a tutti,
sto facendo un programma nel quale (tra le altre cose) si vorrebbe
fare la copia, carattere per carattere, di un file testuale. Il mio
codice è questo:
char cache;
while(!f.eof());               
                      f>>cache;
                      g<<cache;
}
Il programma mi da due problemi:
-Non mi copia nel secondo file ne gli spazi tra una parola e l'altra
ne va a capo a fine riga
-L'ultimo carattere me lo scrive due volte.
Sapreste dirmi come mai? Grazie a tutti dell'attenzione.
                       Roberto
La Locomotiva
http://digilander.libero.it/centovoci

 Sapreste dirmi come mai? Grazie a tutti dell'attenzione.
    f >> noskipws; // con questo copia spazi, tab, a capo
    while (!f.eof()) {
        char c; // tanto ottimizza il compilatore
        f >> c;
        g << c; // dato g come ofstream
    }
Un'alternativa, suggerita qui due giorni fa:
http://groups.google.it/groups?selm=rmacrh75rq.fsf%40mlinux.pd.infn.it
    g << f.rdbuf(); // copia tutto
 
-- 
int



Grazie!


 g << f.rdbuf(); // copia tutto
Sapresti dirmi come mai la versione di Roberto leggeva un carattere in piu'?
Grazie



Visto che gia' ti hanno risposto volevo solo dire che fstream.h non è 
più un header accettato dallo Standard C++
dovresti usare
#include <fstream>
Ciao
===
Trematerra Giovanni

 writes:

Dalla FAQ list di comp.lang.c:
12.2:   Why does the code
                while(!feof(infp)) {
                        fgets(buf, MAXLINE, infp);
                        fputs(buf, outfp);
                }
        copy the last line twice?
A:      In C, end-of-file is only indicated *after* an input routine has
        tried to read, and failed.  (In other words, C's I/O is not like
        Pascal's.)  Usually, you should just check the return value of
        the input routine -- fgets(), for example, returns NULL on end-
        of-file.  In virtually all cases, there's no need to use feof()
        at all.
-- 
Maurizio Loreti                         
http://www.pd.infn.it/~loreti/mlo.html
Dept. of Physics, Univ. of Padova, Italy              ROT13: 
ybe...@cq.vasa.vg

Newsgroup: it.comp.lang.c++
Titolo: Manuale Visual C++??

Qualcuno saprebbe dirmi se è reperibile in rete un qualche manuale di visual
c?? anche in inglese va bene!!
Grazie mille
Jan Carina

http://msdn.microsoft.com/visualc/techinfo/documentation/default.asp

Newsgroup: it.comp.lang.c++
Titolo: [OT] Per agriff :D

Ciao Andrea,
scusa se apro un thread con la tua email, ma per caso tu il suddetto 
indirizzo non lo usi più? 2 settimane fa ti ho spedito un'email non ho 
ancora avuto risposta. Se sei impegnato allora aspetto :)
Ciao
 
-- 
Luigi
--
bug windows [5] = {"95", "98", "NT", "Me", "2000"};

ancora avuto risposta. Se sei impegnato allora aspetto :)
Infinite scuse... il messaggio era finito nella cartella
sbagliata e me ne ero completamente dimenticato.
Ti ho risposto per mail...
Andrea
--
Andrea Griffini, Programmer
http://www.netservers.com/~agriff

Ok, grazie.

Newsgroup: it.comp.lang.c++
Titolo: Che differenze tra Borland C++ E C++ Builder??

Quali sono le differenze tra questi due  software? 

 Quali sono le differenze tra questi due  software?
Borland C++  è un ambiente di sviluppo essenzialmente non visuale, nel
senso che ci si lavora essenzialmente scrivendo del codice C++, con
qualche possibilità di generazione automatica di codice, ma limitata
allo 'scheletro' dell'applicazione. Il principio di funzionamento e il
modo di lavorare sono simili a quelli usati per il Visual C++ di
Microsoft. Borland C++ usa la libreria di classi OWL e supporta la più
diffusa MFC. Può utilizzare e generare componenti OCX e
ActiveX.C++Builder (BCB) è l'ultimo prodotto Borland e si tratta della
versione C++ di Delphi. Ossia è un ambiente RAD, ossia di programmazione
visuale, come Delphi e Visual Basic. Al posto della libreria OWL
contiene la libreria VCL di Delphi, che non è una semplice libreria di
classi, ma una libreria di componenti (cioè oggetti che possono essere
inseriti in
un form con un click del mouse, dimensionati, gli si possono assegnare
proprietà a 'design time' ecc.). Quindi si scrive meno codice e si fa
più programmazione visuale. Per poter utilizzare VCL (scritta in Object
Pascal) la Borland ha dovuto aggiungere alcune estensioni al linguaggio
standard C++. Tuttavia BCB supporta interamente il C++ standard e,
usando le librerie OWL o MFC (che però non sono fornite col prodotto) si
può compilare e modificare codice scritto con altri compilatori.
Soltanto il codice che usa VCL non è compatibile con altri compilatori
C++. Con BCB si può compilare anche codice Object Pascal (attualmente è
supportato codice Delphi 2 ma non Delphi 3), e creare progetti 'misti'
con moduli in C++ e altri in Object Pascal. Con C++Builder, oltre ai
componenti VCL (compresi quelli scritti per Delphi 2 forniti col codice
sorgente o dotati di un apposito modulo .obj per BCB), si possono sempre
utilizzare e creare componenti ActiveX e OCX.
C++Builder ha dunque molte cose in più rispetto a Borland C++ ma anche
alcune in meno: L'IDE (Integrated Development Environment) di BCB,
simile a quella di Delphi 2, è piuttosto rudimentale e manca di molte
utili funzionalità presenti nel Borland C++. La libreria VCL, seppure
meglio strutturata e facile da usare rispetto a OWL, non supporta,
diverse parti della Win32 API che invece sono interfacciate da OWL.
Il  Borland C++ sembra comunque destinato a scomparire per lasciare il
posto a una nuova versione di C++Builder che incorporerà (per quanto
possibile) anche le funzionalità dell'attuale Borland C++.

Newsgroup: it.comp.lang.c++
Titolo: Cellulari a prezzi d'ingrosso su http://www.villaggio-globale.it

Cellulari a prezzi d'ingrosso su 
http://www.villaggio-globale.it


Newsgroup: it.comp.lang.c++
Titolo: URGENTE: Chiusura automatica di Windows

Chi di voi sa dirmi come si fa, in uscita da un programma scritto da me
(utilizzo Visual C++ 5.0), a chiudere automaticamente Windows 95? Ho la
necessità di arrestare il sistema in uscita dal mio programma, senza che
l'utente debba far niente.
Grazie.

Devi lanciare il seguente comando "C:\WIN95\RUNDLL.EXE user.exe,exitwindows"
tramite l'API CreateProcess, oppure WinExec.


Grazie.
Prova con la funzione "ExitWindows".
Ciao,
Angelo.
Newsgroup: it.comp.lang.c++
Titolo: GCC come lo scarico?

sono andato sul sito: 
http://gcc.gnu.org/
ma non capisco come si scarica/installa, qualcuno mi spiega?..
Grazie 1000
oxy

 ma non capisco come si scarica/installa, qualcuno mi spiega?..
dimenticavo :  dovrei installarlo su Win. XP

 Grazie 1000
non scaricare da li ma su 
http://www.bloodshed.net/
ci troverai il porting di gcc su windows (mingw32)con relativo ide
ciao :)

 ci troverai il porting di gcc su windows (mingw32)con relativo ide
Grazie 1000!!!!!... Ma una cosa: a me interessa il GCJ per Java che dovrebbe
, da quanto ho capito, compreso in GCC >3... sai se e' compreso in Winmg?..
Cmq intanto me lo scarico...
Grazie:)
Ciao
Oxy

Newsgroup: it.comp.lang.c++
Titolo: iteratori custom e duplicazione del codice

per un progetto universitario sto reimplementando una piccola frazione
di STL
ho prodotto alcuni contenitori e i rispettivi iteratori come classi
membro... erano possibili scelte migliori?
Questi iteratori hanno molti metodi esattamente identici ma ereditare
da una superclasse in questo contesto mi sembra assurdo, sbaglio? ho
alternative per evitare di duplicare il codice?
grazie
Mauro

 alternative per evitare di duplicare il codice?
Dai un'occhiata alla libreria Boost.Iterator su 
http://boost.org
Ciao,
Nicola
Newsgroup: it.comp.lang.c++
Titolo: ciclo While.

Ciao a tutti,sto cercando di scrivere  un programma che,data una
path,stampi i file su schermo,comprese le sottodirectory,e memorizzi
queste ultime in un vettore.
il programma è il seguente:
#include <dirent.h>
#include <stdio.h>
#include <stdlib.h>
#include <direct.h>
#include <string.h>
#include <io.h>
#include <dir.h>
#include <process.h>
#include <sys\stat.h>
#include <dos.h>
#include <iostream.h>
char *vettore[100];
char *ch;
int cont;
char dirname2[100];
void main(int argc,char *argv[]);
char *scandir(char *dirname);
int get_file_attrib(char *filename);
char *scandir(char *dirname)
{
   DIR *dir;
   struct dirent *ent;
   struct stat stbuf;
   int amode;
   int attrib;
   int cont2;
   if ((dir = opendir(dirname)) == NULL)
   {
     perror("Unable to open directory");
     exit(1);
                 }
   else
   while ((ent = readdir(dir)) != NULL)
         {printf("%s\n",ent->d_name);
          attrib = get_file_attrib(ent->d_name);
            if (attrib & FA_DIREC)
                   { ch=ent->d_name;
                     strcpy(dirname2,dirname);
                     strcat(dirname2,"\\");
                     strcat(dirname2,ch);
                     cont=cont+1;
                     vettore[cont]=dirname2; }
                                                         }
                                                                }
int get_file_attrib(char *filename)
{
   return(_rtl_chmod(filename,1));
                                        }
void main(int argc,char *argv[])
{
   if (argc != 2)
   {
     printf("usage: opendir dirname\n");
     exit(1);
                                               }
     chdir(argv[1]);
     scandir(argv[1]);
     exit(0);
                                                        }
Ora,la funzione scandir memorizza solo la prima directory trovata,nel
vettore,e non capisco perchè....Voi avete cortesemente qualche
suggerimento da darmi?.
Ciao a tutti,
ALberto.

 vettore,e non capisco perchè....
Mi sembra che manchi la chiamata ricorsiva alla stessa scandir(),
necessaria affinché venga percorso tutto l'albero delle directory a
partire da quella indicata.
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

lla mailing-list ZX_Spectrum su 
www.yahoogroups.com
.
Ah, d'accordo :-)
Ciao,e grazie,
Alberto.
Newsgroup: it.comp.lang.c++
Titolo: remove() con oggetti string: e' sbagliato?

Ciao,
e' sbagliato il seguente codice?
[Nota nel cap.20 dello Stroustrup effettivamente non perla di remove per le 
string, ma solo di replace]
int main(int argc, char *argv[])
{
    string prova = "Ma perche' ci sono tutti questi spazi inutili?";
    remove(prova.begin(), prova.end(), " ");
    cout << prova << endl;
      system("PAUSE");	
    return 0;
}
Con DEV-C++ e la versione g++ 3.2, non me lo compila e mi da una marea di 
errori in stl_algo
Con una vecchia versione di g++ funziona (RedHat 6.2, egcs-2.91.66).
Inoltre, e' possibile che in questa vecchia versione non siano compresi gli 
sstream?
Ho provato ad cercare la libreria e non la trovo.
(Lo so che sarebbe meglio aggiornarlo, ma è un vecchio portatile con soli 
16mB e non ci volevo perdere tempo ;)
Un'ultima cosa, mi potete criticare questo codice? Devo dividere una 
stringa in token ma senza usare la libreria C (quindi senza strtok() ).
Il codice funziona, ma le vostre critiche per me sono il miglior modo di 
imparare.
(prima di questa soluzione "finale" avevo anche provato con find(), 
substr(), etc... )
/************************************************************
Programma:      Prova di suddivisione in token
File:           main.cpp
Funzione:       Uso degli sstream
Descrizione:  Autore:         Ambiente:       Dev-C++ 4.9.8.1, Athlon/750 
128mb RAM, Windows 98
Note:         Revisioni:      1.00  24/08/03 10.14
************************************************************/
#include <iostream>
#include <stdlib.h>
#include <sstream>
#include <vector>
#include <string>
using namespace std;
int main(int argc, char *argv[])
{
    string prova = "12-03-2001, 17:29:58, 3952, -3.18, 5598, 3363";
    // passaggio inutile, lo so, ma e' per simulare un passaggio di valori
    stringstream dati(prova);
    string str; 		// stringa da usare come buffer
    vector<string> ris;	// contenitore per tutti i token trovati
    while (getline(dati, str, ','))
        ris.push_back(str);
    // vediamo cosa mi hai trovato...
    for (int i=0; i<ris.size() ; i++)
        cout << ris[i] << endl;
    system("PAUSE");	
    return 0;
}
--------------------------------------------------------------------
Ciao e grazie.
Checco
P.S.
Perdonatemi se non ho avuto la volontà di cercare sul sito ISO standard 
C++. :)

 compresi gli sstream?
Si, e` un noto bug della vecchia libreria del gcc.
Se non vuoi perdere troppo tempo in aggiornamenti, esiste da qualche
parte uno sstream per gcc 2.x (non mi ricordo dove, prova con google).
      Mauro


Grazie dei consigli,
Checco.

 C'e' un modo per adattare il tutto?
Come non detto, funzione con
lettura.erase(new_end, lettura,end());
Il bello e' che cosi' non funziona sotto g++ 2.x
Mha. Forse e' meglio se uso solo una versione (o aggiorno il portatile) ;)
Grazie lo stesso.
Newsgroup: it.comp.lang.c++
Titolo: [GCC][CROSSPOST] errore in compilazione

vi propongo un quesito. Ho un codice simile a questo:
#include <cstddef>
int global_value[10] ;
template< class Object >
class ASeq
{
public:
	ASeq():
	_array( 0 ),
	_size( 0 )
	{}
protected:
	Object* _array ;
	size_t _size ;
};
template< class Object, size_t Size >
class Seq : public ASeq< Object >
{
public:
	Seq()
	{
#ifdef EXPOSE_BUG
		_array = global_value ;
		_size = 0;
#else
		this->_array = global_value ;
		this->_size = 0;
#endif
	}
};
int
main( int argc, char* argv[] )
{
	Seq< int, 10 > seq ;
}
detto codice mi procura un errore di compilazione:
[develop@ROOT_MST develop]$ /usr/local/gcc-4.1.1/bin/g++ -Wall -pedantic 
-DEXPOSE_BUG -o gcc-failure.o gcc-failure.cpp
gcc-failure.cpp: In constructor 'Seq<Object, Size>::Seq()':
gcc-failure.cpp:27: error: '_array' was not declared in this scope
gcc-failure.cpp:28: error: '_size' was not declared in this scope
compilando senza definire EXPOSE_BUG nessun errore. Chi sbaglia ?
-- 
SF
"Yo! Quota! Do that quoting thing, baby [...]

 compilando senza definire EXPOSE_BUG nessun errore. Chi sbaglia ?
Tu: 
http://gcc.gnu.org/gcc-3.4/changes.html#cplusplus
Il quarto paragrafo e' quello che ti interessa.
Ciao,
Nicola

 
Grazie della segnalazione!


 
cosa fa la EXPOSE_BUG? ho provato a guardare su internet ma non ho
trovato nulla...

Newsgroup: it.comp.lang.c++
Titolo: Domanda un pochino OT

So che non č la sede per porre certe domande, ma non so dove porle, magari
se qualche anima pia mi dasse dei link...
Comunque la domanda č questa:
Vorrei sapere se qualcuno di voi fa il programmatore nella zona di Modena o
Bologna, e se mi sapete dire qualcosa circa la crisi che sta passando
l'industria del software in questo periodo!
Pongo questa domanda perchč vorrei diventare un programmatore
professionista, ma al momento non ci sono offerte di lavoro!
Pensate che il mercato si riaprirą presto o la crisi č destinata a durare?
Grazie mille a chiunque risponderą !
Ciao
Francesco.


Penso che devi cambiare il server delle news.
E' la terza volta che posti lo stesso messaggio ed evidentemente non riesci
a leggere le risposte.
Maurus

 a leggere le risposte.
il server di libero son 2 giorni che fa casini :))
sembra che adesso funzioni (forse)
ciao
Newsgroup: it.comp.lang.c++
Titolo: Cast

Volevo sapere una cosa sul cast ovvero la semplificazione automatica che fa
il linguaggio (Uso visual C++ .net)
Per esempio se ho una variabile di tipo Double ovvero a virgola mobile e la
trasformo in integer ovvero intero, mettiamo il caso che il numero è 3,18 il
virgola 18 viene levato in automatico per farlo diventare un intero, ora
volevo sapere come poter impostare la semplificazione al posto di fargliela
fare al linguaggio.

 ha scritto nel messaggio
news:ISoO9.24027$Q%4.74...@news1.tin.it...


double dvar = 3.18;
int ivar = dvar; /* la conversione se non specifichi niente
                           è implicita ed il .18 vien tagliato */
--
se vuoi arrotondare se >0.5 al'unità superiore basta che fai:
double dvar = 3.62;
int ivar = dvar + 0.5;
--
in questo caso banalmente hai l'arrotondamento desiderato :)


Pianeta0 wrote:

Un cast non è una "semplificazione automatica", ma una conversione.
Ad esempio, in casi come questo:
double d = 3.2;
int i = d;
il compilatore effettua il cast in automatico, probabilmente emettendo un
warning.
Esistono vari tipi di cast. Per i cast tra tipi verificabili a compile-time
si deve usare l'operatore static_cast. esempio:
double d = 3.2;
int i = static_cast<int>(d);
Poi ci sono gli operatori dynamic_cast, reinterpret_cast e const_cast, che
fanno
parte di argomenti più avanzati, e che non sarei in grado di spiegarti
perché
sono un newbie.
--
Andrea Spadaccini - Catania (Italy)
Mail: _
lupin85...@libero.it
ICQ#: 91528290
 - It is not important what you believe, only that you believe -
Newsgroup: it.comp.lang.c++
Titolo: Open Position: C/C++ Senior Developer [ccpp001]

SpeechVillage s.r.l, società operante nel settore delle tecnologie 
vocali e delle loro applicazioni, ricerca per la sua sede di Ascoli 
Piceno un Senior Developer C/C++. La figura in questione avrà il compito 
di avviare un team di sviluppo e di diventarne il Technical Leader. Le 
caratteristiche richieste sono:
- Laurea in Scienze dell'Informazione, Ingegneria Informatica, 
Ingegneria Elettronica, Matematica o Fisica;
- Esperienza significativa (4 anni almeno) nella progettazione, sviluppo 
e maintenance di applicativi C/C++;
- Familiarità con sistemi operativi Linux;
- Buona conoscenza della lingua inglese;
Il contratto offerto è un TI secondo il CCNL Commercio e Servizi. Il 
compenso è fissato dal suddetto contratto nazionale sulla base del 
livello di inquadramento. Il livello di ingresso del candidato viene 
fissato sulla base della sua preparazione ed esperienza. Su richiesta 
del candidato si può valutare anche un contratto di consulenza a PIva.
Chi volesse sottoporre la propria candidatura può farlo inviando un 
curriculum vitae all'indirizzo 
h...@speechvillage.com
 specificando il 
riferimento del presente annuncio [ccpp001].
--
Human Resources Deept. - SpeechVillage s.r.l.
h...@speechvillage.com
http://www.speechvillage.com

livello di inquadramento.
Ma perché tutte le aziende straniere esplicitano il range di salari
sia negli annunci che nei colloqui telefonici e noi italiani invece
facciamo i misteriosi?
E che vuol dire che "il compenso è fissato dal suddetto contratto
nazionale sulla base del livello di inquadramento"? che vi limitate a
dare il minimo salariale previsto dal livello CCNL e nient'altro?
perché lo sapete che sono cifre ridicole, vero? lo sapete che quelli
sono "minimi"...
Poi esiste il "superminimo", questo terribile sconosciuto.
Non sarebbe più
corretto/onesto/giusto/apprezzabile/intelligente/logico (e chi più ne
ha, più ne aggiunga) che specificaste: noi siamo disposti a dare da X
a Y e l'inquadramento all'interno di questa fascia dipende dalle
effettive capacità riscontrabili in sede di colloquio, a seguito di
prove tecniche?
Ahhhh... capito, non lo fate perché quegli X e Y sarebbero così bassi
che non ricevereste neanche un CV.
Che tristezza...
Newsgroup: it.comp.lang.c++
Titolo: Ancora template...nessuno mi aiuta?

Ciao ragazzi..
	allora...una template definita si esporta o no da una dll?
	se no, perche' allora Visual C++ mi da un warning immenso e 
perche' poi non riesco a trovare le funzioni dei template fuori dalla 
dll?

 writes:

Cosa e' una dll?
-- 
Maurizio Loreti                         
http://www.pd.infn.it/~loreti/mlo.html
Univ. of Padova, Dept. of Physics - Padova, Italy            
lor...@pd.infn.it

 dll?
Un template non instanziato non puo' essere esportato in una dll.
In una dll si possono esportare una o piu' instanze di un template,
anche se secondo me e' una complicazione. (mi sembra che STL
faccia qualcosa di questo genere per alcune sue classi).
Il sistema che perferisco e che ho visto fare piu' spesso (anche
in MFC) e' mettere i template nei file .h che poi verranno inclusi
dal programma che usa la libreria dll.

, 
zel...@tiscalinet.it
 
says...

infatti io li metto in un .h.
attenzione..io non voglio esportare un template..
ma un template istanziato!
	ti dice niente questo errore :
warning C4251: 'enabled' : class 'List<class PEUCK3D::ObjectPart>' needs 
to have dll-interface to be used by clients of class 
'PEUCK3D::FastObject'
???

Newsgroup: it.comp.lang.c++
Titolo: data di sistema

Devo recuperare la data di sistema.
Quale funzione devo usare?

 Quale funzione devo usare?
std::time()
Ciao,
Nicola
Newsgroup: it.comp.lang.c++
Titolo: Licenze OpenGl e DirectX (2)

Salve!
Qualcuno potrebbe gentilmente spiegarmi come funzionano le licenze di
OpenGL e MS DirectX.
In altre parole, se scrivo un gioco che implementa queste API, che
cosa posso o non posso fare...
Grazie in anticipo.
 \|||/         Fabry - fsa...@NSusa.net
 |_ _|                 (remove NS)
 |院院
 | O |         Honda VT 750 ACE
_|\_/|_
  \ /
   O
   O
   O 

Grazie in anticipo.
Puoi fare tutto, OpenGL e' totally free, DirectX pure ma devi
includere nel cd del programma venduto anche l'intera ridistribuzione
dei drivers.
ciao
________________________________________________________________________________
Stefano "Panda" Baraldi
EMAIL: 
pa...@intermed.it
WWW:   
http://www.geocities.com/SiliconValley/Park/7471
---------------------------------------------------------------------------------

Newsgroup: it.comp.lang.c++
Titolo: quale costruttore viene chiamato?

salve a tutti, ho un problema dovuto alla mia ignoranza.
supponiamo di aver costruito una classe del genere
class a
{
     a();
     a(int n);
}
ora costruisco la classe b
class b
{
     a arrayA[10];
     b()
     b(int array[10]);
}
int main()
{
   b miob;
}
nel main quando viene costruito b viene chiamato il costruttore di b e
vengono costruiti gli a, contenuti al suo interno come campi, chiamando
il costruttore di a a(). Ma se io volessi che fosse eseguito l'altro
costruttore?
mettiamo che sia
int main()
{
   int array[10];
   b miob(array);
}
vorrei che quando è creato b tramite b(int[10]) sia chiamato a(int)
nel costruire arrayA.
la soluzione che mi viene in mente è di allocare dinamicamente arrayA
e di costruirli col new.

 e di costruirli col new.
Sinceramente non avevo mai pensato a questo fatto:
non è possibile scrivere
b(int array[10]) : arrayA[0](array[0]) /*, ....*/
Avrebbero potuto anche permetterlo, visto che gli array non hanno un 
costruttore "atomico".
Kiuhnm
Newsgroup: it.comp.lang.c++
Titolo: mfc

Non riesco a compilare il seguente programma:
file://mfcswp.h
class CMainWnd : public CFrameWnd
{
public:
CMainWnd();
afx_msg void OnPaint();
DECLARE_MESSAGE_MAP();
} ;
class CmfcswpApp : public CWinApp
{
public:
BOOL InitInstance();
} ;
file://mfcswp.cpp
#include <afxwin.h>
#include "mfcswp.h"
CmfcswpApp theApp;
CMainWnd::CMainWnd()
{
Create(NULL,"Una applicazione Windows MFC",
WS_OVERLAPPEDWINDOW,rectDefault,NULL,NULL);
}
void CMainWnd::OnPaint()
{
CPaintDC dc(this);
dc.TextOut(2OO,2OO,"Uso della libreria MFC",21);
}
BEGIN_MESSAGE_MAP(CMainWnd,CFrameWnd)
ON_WM_PAINT()
END_MESSAGE_MAP()
BOOL CmfcswpApp::InitInstance()
{
 m_pMainWnd=new CMainWnd();
 m_pMainWnd->ShowWindow(m_nCmdShow);
 m_pMainWnd->UpdateWindow();
 return true;
}
Gli errori che mi da sono:
c:\programmi\microsoft visual studio\myprojects\sopmple\mfcswp.cpp(15) :
error C2059: syntax error : 'bad suffix on number'
c:\programmi\microsoft visual studio\myprojects\sopmple\mfcswp.cpp(15) :
error C2146: syntax error : missing ')' before identifier 'OO'
c:\programmi\microsoft visual studio\myprojects\sopmple\mfcswp.cpp(15) :
error C2661: 'TextOutA' : no overloaded function takes 1 parameters
c:\programmi\microsoft visual studio\myprojects\sopmple\mfcswp.cpp(15) :
error C2059: syntax error : 'bad suffix on number'
c:\programmi\microsoft visual studio\myprojects\sopmple\mfcswp.cpp(15) :
error C2059: syntax error : ')'
--
--
Abruzzo Silvio
goku_...@libero.it
don't send source and binaries
don't write in HTML

> dc.TextOut(2OO,2OO,"Uso della libreria MFC",21);
Prova a sostituire le "OO" (che sono lettere nel tuo sorgente) con dei
numeri e poi forse funziona !!!

 ha scritto nel
messaggio news:8qmrio$6fl$1...@serv1.iunet.it...

Newsgroup: it.comp.lang.c++
Titolo: domanda sulle std::string

Salve a tutti!
Qualcuno mi sa spiegare perché questo codice funziona perfettamente
se uso gli array di char, ma appena uso le string non funziona?
La presenza dell'header iostream.h e dell'int i sono dovuti al fatto
che uso, come compilatore, il Visual C++ 6.
La compilazione non presenta problemi, ma, al momento dell'esecuzione,
mi compare (sotto Win2000) questo errore: L'istruzione a "indirizzo" ha
fatto riferimento alla memoria a "indirizzo". La memoria non poteva
essere "written".
Grazie in anticipo!
-----------------
#include <cstdio>
#include <string>
#include <iostream.h>
int main() {
 int i;
 std::string Title, Artist, Tag;
 FILE* Pointer;
 Pointer = fopen("a.mp3", "r");
 if(Pointer == NULL)
  std::cout << "Errore apertura file";
 else {
  fseek (Pointer, -128, SEEK_END);
  for(i = 0; i < 3; i++) Tag[i] = fgetc(Pointer);
  if(!(Tag[0] == 'T') && (Tag[1] == 'A') && (Tag[2] == 'G'))
   std::cout << "Non trovo il tag";
  else {
   for(i = 0; i < 30; i++) Title[i] = fgetc(Pointer);
   for(i = 0; i < 30; i++) Artist[i] = fgetc(Pointer);
  }
  fclose(Pointer);
 }
 std::cout << Title.c_str();
 std::cout << Artist.c_str();
 return 0;
}
--
Never drive faster than
your angel can fly

   for(i = 0; i < 3; i++) Tag[i] = fgetc(Pointer);
Tag[i] ha comportamento definito soltanto per valori di i inferiori a
Tag.size().
In questo punto Tag.size() è 0, quindi il codice sopra ha comportamento
indefinito.
Max

 indefinito.
Allora dovrei definire
std::string Title[30], Artist[30], Tag[3];
giusto?
--
no sign available

 giusto?
No. Ma a giudicare da quanto scrivi nell'altro messaggio mi pare che tu ci
sia già arrivato da solo.
Max

 sia già arrivato da solo.
Internet è grande... ;)
Preferisco ricorrere al NG solo quando sono disperato. :)
--
... et voilà!
Newsgroup: it.comp.lang.c++
Titolo: Problema di compilazione con Dev-C++4.01

Salve a Tutti ho scaricato dal sito
http://www.multiplayer.it/itaprogaming/docs&tuts/opengl/nehe/default.asp
un chiaro manuale per principianti di OpenGl ma il codice d'esempio e'
scritto in ambiente VisualC++ 6.0 e' possibile renderlo compilabile
dal Dev-C++4.01 con delle modifiche? Grazie per le risposte!
Saluti 
Felix 

felix wrote:

in teoria il C++ č standard, quindi dovrebbe compilare senza modifiche.
Questo in teoria. In pratica potresti dover modificare i cicli for, per
esempio:
for (int i = 0; i < x; ++i)
in
int i;
for (i = 0; i < x; ++i)
oppure mettere un define del genere:
#define for if (false) ; else
In generale i sorgenti di quei tutorial non usano template o altre cose
strane, per cui non dovresti avere problemi. Non so perň se puoi
utilizzare le librerie (i .lib, per intenderci) cosě come sono, ma penso
di sě.
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

di sì.


                         Vietata la riproduzione anche parziale
secondo me il problema sta qui :-))
--
Gerolamo

 suggerimento:
Azz Felix complimenti!
Hai postato 56 Kb di tutorial per risolvere un problema di compilazione?!
Fra un po' ti arriveranno orde di lettori del newsgroup a reclamare la
bolletta telefonica.
Dovresti postare solo il pezzo che interessa.
Fai vedere un pezzo dove il compilatore ti da' problemi e che tipo di
messaggi ti da.
Stavolta vedi di non arrivare a 100 Kb ...
Maurus

On Sun, 26 Jan 2003 01:58:14 GMT, 
pathin...@libero.it
 (felix)
wrote:

Ho dato un'occhiata al file ... visto che "Perspective" e "prima"
(riportati come "undeclared identifier") sono presenti solo nei
commenti e non come identificatori ... comincerei con il togliere
tutti i commenti (o, magari, controllarli ... ma sono tanti!).
'Notte a tutti.

Newsgroup: it.comp.lang.c++
Titolo: X Paolo Marotta

Ho letto il tuo tutorial, e ti faccio i complimenti per la chiarezza e la
completezza. Io avevo infatti conoscenze VB e mi sembra di capire bene. Non
è che hai una versione doc, rtf, o pdf o comunque in un unico file? Vorrei
stamparlo per non consumarmi la vista :) Se no stampo tutti gli htm uno per
uno...
Grazie!
--
CIAO!!!
Paolo 83 RE
XXXg...@freemail.it
 (remove XXX)
gher...@iname.com
 (text only)

Ciao,
    ti rispondo io prima di Paolo visto che a breve metterň disponibile per
il download su Programmazione.it un file in formato Word con tutto il
documento sulla OOP.
Se ti riferivi al tutorial sul C++ invece al momento non posso aiutarti :-(
A presto :-)
Marco Abis
http://www.programmazione.it
 Il sito Italiano di riferimento per lo
sviluppatore
ab...@programmazione.it

uno...
Infatti mi pare che almeno i browser + diffusi supportino un comando
per la stampa. L'idea originale era proprio questa.
Paolo
-----------------------------------------------
  Paolo Marotta
  Computer Science, University of Pisa
  home:   
http://www.cli.di.unipi.it/~marotta
-----------------------------------------------

 wrote in message
381218ad...@proxy.cli.di.unipi.it...


 Grazie!

Newsgroup: it.comp.lang.c++
Titolo: Duplicazione oggetti (lungo)

Il mio problema e' il seguente: ho una gerarchia di classi del tipo:
class SuperClasse
{
 .......
};
class SottoClasse1:public SuperClasse
{
 .......
};
class SottoClasse2:public SuperClasse
{
 .......
};
class SottoClasse3:public SuperClasse
{
 .......
};
.....
class SottoSottoClasse1:public SottoClasse1
{
 .......
};
class SottoSottoClasse2:public SottoClasse1
{
 .......
};
........
e cosi' via, in pratica una gerarchia in cui ognuna delle classi puo' avere
n >= 0 sottoclassi. Ho la necessità di ottenere duplicati "dinamici", ovvero
dare in input il puntatore all'oggetto (che, per generalita', viene indicato
come SuperClasse*) ed ottenere in output il puntatore ad un altro oggetto,
assolutamente identico a quello di input (anch'esso, per generalita', e' del
tipo SuperClasse*). Ovviamente la duplicazione deve essere coerente con il
tipo "effettivo" dell'oggetto (un oggetto di tipo SottoSottoClasse1 deve
essere duplicato come tale, non come se fosse di tipo SuperClasse).
Non penso che il costruttore di copia funzioni, perche' un'istruzione del
tipo:
SuperClasse *d = new SuperClasse (*c);
che duplica l'oggetto c credo che in realta' lo "trasformi" in un oggetto di
tipo SuperClasse, *indipendentemente* dal tipo originale. Spero di aver
spiegato bene il problema. Se qualcuno ha un'idea, me lo faccia sapere. Ciao
e grazie (se non altro per la pazienza di aver letto questo post
chilometrico)
Marchisio Stefano

 chilometrico)
La mia idea e' una BISCHERATA numero 1... pero' forse puo' funzionare.
Provi a fare un dinamic_cast della SuperClasse che ti arriva in input in
tutte le Sottoclassi implementate, finche' non trovi quella giusta ( il
dinamic_cast ritorna null se non puo' fare il cast).
Lo so, lo so, e' una pazzata, ma se funzion... NO DAI, RAGAZZI SCHERZAVO!
FERMI CON LE SEDIE! FANNO MALE!
ciau!
Joshi
P.S: HAI!

 essere duplicato come tale, non come se fosse di tipo SuperClasse).
SuperClasse avrà un metodo virtuale clone() 
   SuperClasse* clone() const = 0;
 
che verrà implementato in modo appropriato in ogni classe derivata. Una
tipica implementazione potrebbe essere:
   class MiaClasse: public SuperClasse
   {
          public:
          virtual SuperClasse* clone() const
          {
               return new MiaClasse(*this);
          }
          // ...
   };
Esiste poi una tecnica (basata sul celebre Curiously Recurring Template
Pattern) che consente di evitare di riscrivere l'implementazione di
clone() per ogni classe derivata che si vuole implementare:
    template< class BaseT, class DerivedT >
    class clone_impl: public BaseT 
    {
          public:
          BaseT* clone() const
          {
            return new DerivedT( static_cast<const DerivedT&)(*this) );
          }
    };
    class MiaClasse1: public clone_impl< SuperClasse, MiaClasse1 >
    {
    };
    class MiaClasse2: public clone_impl< SuperClasse, MiaClasse2 >
    {
    };
Max
Newsgroup: it.comp.lang.c++
Titolo: rand() del Turbo C++

parametri?
Se intendi la dichiarazione essa č 
        int rand(void)
se invece intendi i parametri X_n,a ed m per quello non posso aiutarti, di 
solito si consiglia di inizializzare tramite l'uso di randomize() e del clock 
dell'orologio. L'help del BC 3.0 indica che il generatore ha periodo 232.
Piů di cosi non ho trovato.
 
    _/_/_/
   _/    _/   _/_/_/  _/    _/
  _/_/_/   _/    _/    _/_/
 _/    _/ _/    _/  _/    _/
_/_/_/     _/_/_/  _/    _/
 
 
 

Non ha parametri. E' questo che vuoi sapere?
Intendo i parametri usati nel codice relativo a quella funzione.
*
Please notice! My e-mail address has changed recently!
*
==========================
|   Christian Prinoth    |
|    
cpri...@tin.it
     |
==========================

Piů di cosi non ho trovato.
Inizializzare il generatore significa dargli il primo valore da cui
questo genera i successivi numeri casuali, fino a nuova
inizializzazione.


 Se lo sapete anche per il Visual C++ fatemi sapere anche questo.
Capisco che ti servono proprio le costanti, io non le conosco, ma se
spieghi per cosa ti servono si potrebbe trovare un metodo per trovarle,
forse!
-- 
-------------------
Giulio Argiolas
-------------------

Newsgroup: it.comp.lang.c++
Titolo: overloading di operatori per classi ereditate

Salve, ho il seguente problema.
Ho definito l'overloading per l'operatore somma in una classe base.
Definisco poi una classe derivata. Definisco ora i seguenti oggetti:
ClasseBase A1,A2 ;
ClasseBase A=A1+A2; "ok"
ClasseDer B1,B2;
ClasseDer B=B1+B2;
in questo caso da errore di conversione. Cioč non puň convertire da
ClasseBase a ClasseDer.
Non ho fatto l'overload dell'uguale.
Se ridefinisco la somma in ClasseDer non da piů errore. Non esiste un modo
per fare riconoscere un overload definito in una classe base, nella classe
derivata (o in piů classi derivate)?
Grazie, ciao.



Immagino che tu non abbia ridefinito operator+ per le istanze di classe
derivata o che tu lo abbia fatto ma esso restituisce un riferimento a
classe base.
Nel primo caso il compilatore usa Classebase::operator+ anche nella
seconda somma, il risultato di tipo ClasseBase& non puo` pero`
essere convertito a ClasseDer perche` non esiste un costruttore
ClasseDer::ClasseDer(ClasseBase&).
Nel secondo caso viene utilizzato ClasseDe::operator+, ma analogamente
al caso precedente manca ClasseDer::ClasseDer(ClasseBase&).
Paolo
-----------------------------------------------------------------
  Paolo Marotta
  Computer Science, University of Pisa
  home:   
http://www.cli.di.unipi.it/~marotta
-----------------------------------------------------------------
Newsgroup: it.comp.lang.c++
Titolo: cercare una stringa in un file txt e ricavare un valore

ciao,
  premetto che sono un newbye con visual c++.
  nel file "pippo.txt" c'e' la stringa "100 beta".premetto che il
  valore 100 puo' cambiare quando viene aggiornato il file txt.
  Vorrei aprire il file,cercare beta,e ritornare 4 caratteri
  prima di beta (cioï¿œ deve ritornare "100 ")
grazie
Pippo

  prima di beta (cioï¿œ deve ritornare "100 ")
Puoi usare i memory mapped file, con il seguente codice, che richiede il
file "memory_file.cpp" da compilare e il file "memory_file.hpp" da
includere, che puoi copiare e incollare da
(
http://en.wikibooks.org/wiki/Optimizing_C%2B%2B/General_optimization_techniques/Input/Output
):
#include "memory_file.hpp"
#include <iostream>
#include <string>
int main() {
     InputMemoryFile imf("temp.txt");
     if (imf.data()) {
         const char* p = strstr(static_cast<const char*>(
             imf.data()), "beta");
         if (p) std::cout << std::string(p - 4, 4);
     }
}
-- 
Carlo Milanesi
http://digilander.libero.it/carlmila

   imf.data()), "beta");
Non c'� alcuna garanzia che l'array di char a cui punta imf.data() sia
NULL-terminated nel punto "giusto". Senza questa garanzia non puoi
usare 'strstr'.
Max

Max M. ha scritto:

Scusate, hai ragione, e c'e' anche il caso in cui la stringa "beta" si 
trova all'inizio del file, per cui si tenta di leggere prima dell'inizio 
del file.
Ecco una versione migliorata:
#include "memory_file.hpp"
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
int main() {
     string filename("pippo.txt");
     InputMemoryFile imf(filename.c_str());
     if (imf.data()) {
         string b("beta");
         const char* bof = static_cast<const char*>(imf.data());
         const char* eof = bof + imf.length();
         const char* p = search(bof, eof, b.begin(), b.end());
         const int offset = 4;
         if (p != eof && p - offset >= bof) {
             cout << string(p - offset, offset);
         }
         else {
             cerr << "Error: Can't find '" << b
                << "' in file '" << filename << "'." << endl;
         }
     }
     else {
         cerr << "Error: Can't open file '" << filename << "'." << endl;


Newsgroup: it.comp.lang.c++
Titolo: compilare il file risorse con Borland C++ 5.5

Come si fa a compilare il file risorse .RC con Borland C++ 5.5 (a linea di
comando) e successivamente linkarlo?

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
Newsgroup: it.comp.lang.c++
Titolo: [Visual C++]Escludere la visualizzazione dei Warnings

Ciao,
utilizzo VisualC++ da poco,
poichč quando compilo mi viene fuori una sbrodolata
di messaggi di Warnings .... c'č un modo per inibirne
la visualizzazione ?
Ho visto qualche cosa riguardao alla #pragma ma
nn credo di averne capito l'uso ... 
se avete qualche consiglio č accettatissimo ...
ciauz!
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 la visualizzazione ?
Disattivare indiscriminatamente i messaggi di warning del compilatore 
(qualsiasi compilatore) non è MAI una buona idea. Molto meglio comprendere 
perché un determinato warning viene emesso e valutare se è ragionevole 
ignorarlo.
Sotto VC++, ogni warning è identificato da un codice. Una ricerca su 
Google, o MSDN, con quel codice ti permetterà di capire se è un messaggio 
importante ed eventualmente come disabilitarlo.
Max

#pragma warning(Id_del_warning, disable)
cmq come tie gia stato detto non e opportuno disabilitare 
indiscriminatamente tutti i warning

Newsgroup: it.comp.lang.c++
Titolo: Lughezza di un file

Come faccio a sapere quanto è lungo (in byte) un file aperto in
lettura? Grazie
Please, remove 
NOSPAM.XYZ
 at the end of the address to reply

 lettura? Grazie
fstat(2)
(_fstat() sotto Win32)
bye!
Ale
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 fstat(2)
Il risultato e' corretto solo se il file e' binario.
-- 
Maurizio Loreti                         
http://www.pd.infn.it/~loreti/mlo.html
Dept. of Physics, Univ. of Padova, Italy          loreti at pd dot infn dot it

 Il risultato e' corretto solo se il file e' binario.
i files sono SEMPRE binari... da quando eventuali differenze di
interpretazione di CR/LF influiscono sulla lunghezza del files in bytes
?


 interpretazione di CR/LF influiscono sulla lunghezza del files in bytes
Dipende da come definisci "lunghezza del file".  Da come la vedo io,
la traduzione di piu' di un carattere (e.g. CR/LF come tu citi) in uno
solo (\n) influisce e come --- se definisci "lunghezza del file" come
"numero di caratteri che posso leggere prima dell'EOF".  Se invece la
definisci come "spazio occupato su disco", c'e' ancora qualcosa che
non mi torna: in genere lo spazio viene allocato in multipli di una
quantita' fondamentale (settore), e la parte finale contiene garbage;
anche qui stat/lstat/fstat restituiscono qualcosa che e' differente
dallo "spazio occoupato su disco".
Cfr.: la FAQ list di comp.lang.c, piu' volte da me citata con tanto di
pointers, che alla Q/A 19.12 dice testualmente:
,-----
| 19.12:  How can I find out the size of a file, prior to reading it in?
| 
| A:      If the "size of a file" is the number of characters you'll be
|         able to read from it in C, it is difficult or impossible to
|         determine this number exactly.
`-----
Puoi specificare quale e' la _tua_ definizione, prego?


 lettura? Grazie
fai una seek fino alla fine del file, leggi la posizione
-- 
 < 
http://www.reactos.com/
 >  Open source clone of Windows NT. Current
     Don't stand, REACT!      version 0.0.19. C, C++ and ASM developers
                              and beta testers are welcome!

 fai una seek fino alla fine del file, leggi la posizione
ricordandoti di aprirlo in modalità binaria, altrimenti il giochetto
non funziona molto bene...

 non funziona molto bene...
questo va da sè :-)


 questo va da sè :-)
se uno lo sa...
Newsgroup: it.comp.lang.c++
Titolo: Delucidazioni su definizione Classi

Ho trovato qualche esempio (gtkmm) dove i costruttori delle classi sono 
definiti in questo modo:
 
[code]
ExampleWindow::ExampleWindow()
:
oggetto1("Not accelerated"),
oggetto2("Accelerated")
{
 
[code]
 
 
con oggetto1 e oggetto2 dichiarati nel .h
 
Dove posso trovare qualcosa che mi illustri meglio cosa succede e come 
si utilizza questa notazione?
 
 
Grazie
Testone

[code]
 
il costruttore ha una "fase" di inizializzazione e una di
assegnamento.
La prima si ottiene appunto richiamando i nomi degli oggetti da
inizializzare dopo il simbolo 2 punti che segue il nome del
costruttore,
la seconda si ottiene  invece dal corpo del costruttore.
 
La fase 1 avviene sempre dopo la fase 2.
 
 

La fase 1 avviene sempre dopo la fase 2.
 
cazzata solenne .... vabbe capita.
 
La fase 1 avviene sempre PRIMA della fase 2.
 


Poi c'è la fase TRE :
-Corso di programmazione c++ (Lippman - Lajoie).
 
Buono studio!

 definiti in questo modo:
 
Trovato!
Questo metodo di inizializzazione si chiama:
Constructor Initializer List
 
http://www.learncpp.com/cpp-tutorial/101-constructor-initialization-lists/
 
 
 
Testone


 
Sì. Io pur avendolo studiato, spesso mi ci perdo ancora in questi 
meccanismi (sarà che è passato del tempo...)
 
-- 
Mickey
Newsgroup: it.comp.lang.c++
Titolo: salve

ho appena cominciato ad utilizzare c++
vorrei sapere quale è il modo per emulare il repeat until keypressed di
pascal.
voglio far fermare le funzioni fino a quando non premo un tasto
grazie in anticipo

 ha scritto nel messaggio
news:zC15c.71082$FJ6.2...@twister1.libero.it...

system("pause")
Lo so, è triste. :-)
--- bye

 quindi quando si usa ignore() bisogna tenerne conto ]
Lui aveva detto un carattere... Se voleva l'enter era più facile.
--- bye

 Lui aveva detto un carattere... Se voleva l'enter era più facile.
si, hai ragione.
anche se ho idea che in fondo se lo scopo e` ''mettere in pausa'' o dare
tempo di leggere possa andare bene anche l'enter.


 tempo di leggere possa andare bene anche l'enter.
Ha avuto ciò che ha chiesto... Anche se magari quello che ha chiesto non è
quello che avrebbe voluto chiedere :-)
Volendo poteva fare anche qualcosa del tipo: (anche questo attende un enter)
string str;
getline(cin, str);
Dovrebbe essere standard... Credo :-)
--- bye

 Dovrebbe essere standard... Credo :-)
afaik totalmente si. per lo meno sulla Bibbia ne parla... quindi ;)


 ha scritto nel messaggio
news:1ganze3.1io9mbtkccodfN%ri...@despammed.com...
