mii-community/UsenetArchiveIT-conversations huggingface dataset:
Newsgroup: it.comp.lang.c++
Titolo: Utilizare classi template senza specializzarle?!?!?

Vorrei scrivere qualcosa di simile a quello che segue:
 
template <class T>
class A {
public:
 void set(const T& elem) {
  _elem = elem;
 }
 
 const T& get() const {
  return _elem;
 }
 
private:
 T _elem;
};
 
class B: public A<int>
{
 // ...
};
 
class C: public A<char>
{
 // ...
};
 
std::list<A*> _list;
 
Ovviamente non č possibile: utilizzo A senza specializzare il tipo di
T.
Usiste un modo (che non sia sostituire T con una qualche classe
Object) per realizzare qualcosa di simile?
Usare un'interfaccia IA tale che class A: IA e definire la lista cosě:
std::list<IA*> _list funziona,
ma mi obbliga ad upcastare ad A<...> ogni volta che estraggo dalla
lista. Vorrei non dover fare upcast.
---Fabio

Vorrei scrivere qualcosa di simile a quello che segue:
template <class T>
class A {
public:
 void set(const T& elem) {
  _elem = elem;
 }
 const T& get() const {
  return _elem;
 }
private:
 T _elem;
};
class B: public A<int>
{
 // ...
};
class C: public A<char>
{
 // ...
};
std::list<A*> _list;
Ovviamente non è possibile: utilizzo A senza specializzare il tipo di T.
Usiste un modo (che non sia sostituire T con una qualche classe Object) per
realizzare qualcosa di simile?
Usare un'interfaccia IA tale che class A: IA e definire la lista così:


 realizzare qualcosa di simile?
L'unica idea che mi viene e' quella di templatizzare anche la std::list 
che vai a creare (con una typedef, ad es., anche se non ricordo se puoi 
fare typedef con template). Ovviamente, per la natura stessa di 
template, prima o poi, a tempo di _compilazione_, dovrai informare il 
compilatore di tutti i tipi ;)
-- 
/**
  * 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
  */
Newsgroup: it.comp.lang.c++
Titolo: C++ su n-gage

Ho scaricato il borland c++ mobile per programmare in c++ sul n.gage (e su
tutti i serie 60).
Premesso che sono capace di programmare (anche abbastanza bene con c++)
qualcuno mi sa dire dove trovo istruzioni e/o tutorial (magari ita anche se
so che è impossibile) per programmare con c++ su n-gage?
-- 
Quando va quel tanto che basta...non toccare altro...altrimenti si guasta!!!
ICQ 327417712

 so che è impossibile) per programmare con c++ su n-gage?
Qui si dovrebbe parlare solo di C++ standard, quindi sei OT. Purtroppo, 
non saprei dirti su quale newsgroup spostarti, pero' :P
-- 
Mat/tia Belletti - Undergraduate student @ 
cs.unibo.it
ICQ: 33292311    - email: 
mbel...@cs.unibo.it
IRC: RedGlow     - site(s): 
http://mbellett.web.cs.unibo.it/
Jabber: RedGlow  - Linux registered user 299762 @ machine 213003

 ha scritto nel messaggio 
news:cout7a$ups$2...@le1.cs.unibo.it...

Sei ot ma ti do una mano... su ita non trovi niente :)
mi spiace ciao. 

 non saprei dirti su quale newsgroup spostarti, pero' :P
...non ho idee ben chiare a riguardo neanch'io...
pero' forse potresti farti un giretto sui vari:
comp.games.development.*
Dan

 Puntuale come al solito :-)
Eh, no, le cose vanno chiamate col loro nome... "rompimaroni" ;D


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

Ciao a tutta la NG, ultimamente mi sto avvicinando al mondo della
programmazione con grafica 3D e intendo utilizzare openGl. Ho già provato
qualcosa con il mio Dev-C++, però è abbastanza macchinoso e nn mi piace. Sto
cercando un buon compilatore che sia soprattutto semplice(x esempio, per
aprire una finestra di windows bastino poche dichiarazioni) ma che dia
comunque buoni risultati.
Mi aiutate??


beh il compilatore centra poco, se ti servono delle librerie per gestire
facilmente le opengl ti consiglio le SDL 
www.libsdl.org
ciao
-- 
We are just like a sandglass, 
a life inserted by someone else into a glass, 
the time that has been given us it's brief, we can't stay shut in here, 
even at the cost of breaking the glass, we must go out.

 ha scritto nel messaggio
news:Jc2aa.186024$ZE.55...@twister2.libero.it...

Se ho ben capito, non è di un compilatore che hai bisogno, ma di un
framework di sviluppo.
Io ti consiglio il VC++6.0
E' decisamente completo e semplice da usare.
Considera inoltre che ha uno dei compilatori + efficienti ed ottimizzati che
ci siano in giro.
Saluti
--
NinjaCross
 
www.ninjacross.it
Membro dell'Italian Agile Movement.
www.agilemovement.it
Sconnetti il chip isolineare per contattarmi
ninjacross_CH...@yahoo.it
Newsgroup: it.comp.lang.c++
Titolo: esempio per dichiarazione variabili all'ultimo momento con minimo scope possibile

Buongiorno a tutti,
La raccomandazione 42 di Eckel (Thinking in c++ 2nd edition) dice di:
Dichiarare le variabili in modo da avere vita e scope minimi, ovvero
all'ultimo istante possibile, e con il massimo grado di annidamento
possibile.
Così facendo si aumenta la leggibilità e si evitano usi impropri (in
contesti sbagliati) delle variabili.
Avreste un esempio convincente per giustificare questa regola?
Grazie.
Alessandro

 Così facendo si aumenta la leggibilità
Be', in C tutte le variabili devono essere dichiarate all'inizio, quindi
e' facile avendo una funzione lunga qualche centinaio di righe perdersi
e dover fare continuamente back-'n'-forth per vedere chi e' cosa... poi
di contro, c'e' la notazione ungherese che aiuta di molto.
Questa e' la mia opinione, altre sono ben accette. Sono sempre pronto a
discussioni in merito.
Ciao.
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

uvts...@yahoo.com
 wrote:

class C {
	C(int a) { }
};
void f() {
	// 1
	std::string s1;
	s1 = g();
	std::string s2 = g();
	// 2
	int i = h();
	C c(i);
	// 3
	if (i < 0) return;
	std::vector<C> v(10000);
	// 4
	{
		C c2(1);
		k(c2);
	}
}
// 1
La variabile s1 viene prima inizializzata al valore di default e riceve 
il valore reso dalla chiamata a g.
La variabile s2 viene subito inizializzata al valore reso dalla chiamata 
a g.
L'uso di s2 e' piu' efficiente, perche' non si deve distruggere 
l'oggetto creato dall'inizializzazione di default.
// 2
La classe C non ha un costruttore di default, per cui non si puo' creare 
  una variabile di tipo C se non passandogli un valore. Nell'esempio, 
viene passato il valore i, calcolato prima. Pertanto, si puo' 
dichiararare c solo dopo aver calcolato i.
// 3
La variabile v non viene costruita se i e' negativo, evitando operazioni 
inutili.
// 4
La variabile c2 viene distrutta alla fine appena dopo la chiamata a k, 
rilasciando subito le risorse allocate.
-- 
     Carlo Milanesi
 
http://digilander.libero.it/carlmila

 rilasciando subito le risorse allocate.
quindi scrivendo esplicitamente lo scope causo la distruzione di c2 non
appena  serve e non la lascio posticipare, rendo cioè "lo scope
minimo", giusto?
grazie per gli esempi,
Alessandro.

 grazie per gli esempi,
Un altra motivazione e' di leggibilita'.
In C si sa che le dichiarazioni sono sempre all'inizio della funzione, 
per cui, per cercare una dichiarazione si salta li'. In C++, come 
abbiamo visto, puo' essere opportuno o necessario spostarle in mezzo 
alla routine. A questo punto risulta piu' comodo metterle il piu' vicino
possibile al punto in cui vengono usate.
Non escludo che ci siano altre motivazioni, ma al momento non mi vengono 
in mente.

Newsgroup: it.comp.lang.c++
Titolo: Stl List: Ne esiste una ordinata?

Girando tra google e la documentazione ho notato che non esiste una lista
ordinata nelle standard template library...
Confermate cio'? 
Quindi per avere la mia lista ordinata devo derivare la classe della lista e far
si che l'inserimento e altre funzioni sensibili non violino l'ordinamento?
-- 
| /
| \Byte - Andrea Briganti - kbytesys(at)
tiscali.it
http://www.kbytesystem.fasturl.it
 - ICQ: 40872731
*** Chi non ha rispetto non merita considerazione

 si che l'inserimento e altre funzioni sensibili non violino l'ordinamento?
I contenitori ordinati sono: std::set, std::multiset, std::map, e
std::multimap. Sarebbe troppo costoso mantenere una std::list ordinata.
Claudio Puviani


Spiegando meglio =>
Costoso = in termini di complessità computazionale
L'inserimento in una list avrebbe complessità O(n), mentre nei set, map e
multimap è O(log n)

 wrote

Ma che complessità computazionale? Io parlavo di soldi. ;-)
Claudio Puviani

Newsgroup: it.comp.lang.c++
Titolo: Rilevare la posizione assoluta del mouse

(Builder C++ 4)
Con l'evento OnMouseMove sono in grado di rilevare la posizione
relatriva del puntatore del mouse, ma mi piacerebbe riuscire a
rilevare la posizione *assoluta* del puntatore nello schermo. Come si
fa? Dove posso trovare delle info a riguardo? Graaazie a chiunque
riesca a darmi una zampa.
Topoldo
(Grazie a Dio, sono ateo)

 wrote in message
37a56c0a...@news.tin.it...

Win32 API:
BOOL ClientToScreen(
  HWND hWnd,       // window handle for source coordinates
  LPPOINT lpPoint  // pointer to structure containing screen coordinates
);

);
Ma questo dovrebbe funzionare solo quando il puntatore si trova
nell'area della finestra, giusto? E quando si trova fuori?

Newsgroup: it.comp.lang.c++
Titolo: Floppy Disk

Esiste un modo per determinare se un floppy disk é protetto in scrittura
?
Riesco solo a sapere, dagli attributi, se un file é read-only,
ma non sono riuscito a capire come recuperare lo stato di protezione
a scrittura di un floppy-disk

Quaglia Emmanuele (
q...@interplanet.it
) wrote:
: Esiste un modo per determinare se un floppy disk é protetto in scrittura
: ?

Per quanto ne so, l'unica e` provare!

 pero` comunque non funzionerebbe sotto windows NT .
non e` necessario leggere le porte di I/O,
basta usare INT 25h per leggere un settore,
e provare a riscriverlo con INT 26h, in caso
di errore di INT 25 il disco non c'e`, 
se l'errore e` di INT 26h, il disco e` protetto
da scrittura.
-- 
[Ranger, email: 
ran...@racine.ra.it
]

la citazione dei registri a memoria era errata il floppy utilizza solo il
bit7 di 0x3f7 ma per controllare la presenza
mentre puo` leggere lo stato dello switch di WP mandando un comando "SENSE
DRIVE STATUS" codice (0x04)
che restituisce il contenuto del registro ST3 del' FDC controller ,
registro  che riflette i valori di:
----------------------------------------------------------------------------
--------------
bit7   FAULT  riflette il segnale di fault                                 
             del drive selezionato
bit6   WP      e` lui il write protect direttamente (o quasi ) dallo switch
   del drive selezionato
bit5   RDY     riflette il segnaale di ready                               
             del drive selezionato
bit4   T0       riflette lo stato di track0                  			  del drive
selezionato
bit3   TS       riflette il segnale two side                               
             del drive selezionato
bit2    H        riflette il segnale di head select                        
            del drive selezionato
bit1    DS1    drive1 select
bit0    DS0    drive0 select
----------------------------------------------------------------------------
---------------
formato comando SENSE DRIVE STATUS:
--------------------------------------------------------------------------
   W      0x04
   W     ( head << 1)+(drive+1)   //   dove head=0..1 drive=0..1
   R      ST3
--------------------------------------------------------------------------
Paolo Lioy.
 
but...@canavese.it
 
http://www.viva.it/but/
 
http://www.canavese.it/butsoft/

...


pero` comunque non funzionerebbe sotto windows NT .
Sai come si fa a leggere e scrivere le porte di I/O con WinNT ?
Ciao
Saluti da Parma
Newsgroup: it.comp.lang.c++
Titolo: Stralcio di codice c++

Salve a tutti,
scusate se chiedo aiuto per questa domanda banale:
un mio amico sostiene che conoscendo il C non ha bisogno di studiare il c++
perchè lo capirebbe perfettamente!
Io gli ho detto che su questo ng ho visto degli esempi di codice c++ che se
li vedesse, non ci capirebbe un tubo!!! Lui Naturalmente dice che non è
possibile!
C'è qualcuno che voglia raccogliere la sfida e mi possa postare qualche
esempio di codice avanzato puro Ansi C++?
Chiedo scusa per il post molto puerile!
E se non dovessi avere una risposta, capirei perfettamente :)
Saluti

Postato da Fabio:
*CODE*
template<class _R, class _Ty>
  class mem_fun_ref_t : public unary_function<_Ty, _R> {
public:
  explicit mem_fun_ref_t(_R (_Ty::*_Pm)())
   : _Ptr(_Pm) {}
  _R operator()(_Ty& _X) const
   {return ((_X.*_Ptr)()); }
private:
  _R (_Ty::*_Ptr)();
  };
*CODE*
o anche
*CODE*
template<class _II, class _Fn> inline
  _Fn for_each(_II _F, _II _L, _Fn _Op)
  {for (; _F != _L; ++_F)
   _Op(*_F);
  return (_Op); }
*CODE*
Ciaus
--
Kleidemos


Ciao, io non ho codice (tanto per quello vedrai che te ne posteranno).
Il tuo amico comunque ha torto, al massimo chi conosce il C++ potrebbe
scrivere un programma in C (o sicuramente capisce cosa fa un listato in C
analizzandolo) , ma non il contrario! Assolutamente no!
Se lo studiasse, certamente lo capirebbe (anche io programmvo solo in
linguaggio C fino qualche anno fa)... ma queste cose non s'imporvvisano...
Io per comprendere il C++ ad un livello che reputavo "accettabile" ho
impiegato diverse settimane di studio... poi per parecchi mesi ho avuto modo
di perfezionarmi; sicuramente studenti più abili di me farebbero molto
prima, ma comunque io mi reputo un programmatore esperto.
A meno ché non ci troviamo davanti a un fenomeno oppure non sia talmente
superficiale da pensare che basta vedere la definizione di una semplice
classe per pensare d'aver capito tutto l'universo C++.
Il C++ ha classi, classi template, overloading di funzioni e operatori,
polimorfismo, ereditarietà e poi è praticamente indispensabile conoscere
STL... Mi sa che il tuo amico si sopravvaluta parecchio!


Chiedi al tuo amico se conosce delle differenze tra i 2 linguaggi, se non ti
parla di classi, polimorfismo, overloading, costruttori, distruttori ecc...
è un piccolo ignorante.
CIAO
-- 
Forse... La Nestlé fa morire ogni giorno molti bambini,
Informati!
http://www.ribn.it/

 Saluti
ciao ...
-- 
#include <stdio.h>
int main(void){char c[]={10,65,110,116,111,110,105,111,32,98,97,114,98,111,110,
101,32,60,104,105,110,100,101,109,105,116,64,116,105,115,99,97,108,105,110,101,
116,46,105,116,62,10,10,0};printf("%s",c);return 0;}
Newsgroup: it.comp.lang.c++
Titolo: [niubbo]Borland C++ Builder X personal

Qualcuno conosce il Borland C++ Builder X personal ?
Io purtroppo da perfetto niubbo l' ho scaricato, installato, ma non riesco a
trovare a barra delle palette, i form ecc...
Avevo letto da qualche parte che si potevano creare applicazioni con Gui
attraverso il Buider X, ma quando creo un nuovo progetto Gui non trovo gli
oggetti.
Grazie a tutti dell' aiuto.
(non ridete troppo sono proprio all' inizio).
Morpheus

 a codice e linkarle; non so se esiste un kit per creare gui graficamente.
Grazie mille della risposta, però pensavo che con 316MB di roba ci fosse
qualcosa di più :(
Il dev è molto meno pesante, credo che continuerò ad usare il Dev.
Ciao e grazie.
Morpheus

 Morpheus


Newsgroup: it.comp.lang.c++
Titolo: VOGLIO ANCH'IO IL C++, COME FACCIO ?

Come posso avere il C++ ?
Aiutatemi.
Ciao.

 Come posso avere il C++ ?
Vai all'indirizzo 
http://www.delorie.com/djgpp/
 e scaricati il gratuito
DJGPP.
EMG

Ciao,
    il C++ è un linguaggio quello che ti serve è un compilatore che ti
permetta di creare programmi partendo dal tuo codice C++. Ne esistono tanti
commerciali e tanti free. Indubbiamente ti conviene prenderne uno free ed
usare quello per imparare. Ne trovi da scaricare nell'area C/C++ di
www.programmazione.it
 nell'articolo "Gli strumenti per iniziare"
A presto :-)
Marco Abis
http://www.programmazione.it
  il sito Italiano di riferimento per IT
ab...@programmazione.it

 Ciao.
Vai a 
http://sourceware.cygnus.com/cygwin/
 e scarica il compilatore
cygwin per Windows.
Se hai un sistema Linux, il compilatore _deve_ essere incluso nella
distribuzione;
in entrambi i casi sara' il compilatore egcs, che lanci con il comando
g++; esempio
# g++ programma.cpp
Ciao
Pietro
--
To answer take your filthy hands out of my address.

...


 wrote in message
pG6I3.3387$nP6....@typhoon.libero.it...

Newsgroup: it.comp.lang.c++
Titolo: creazione di strings.

All'inizio del mio programma ho una dichiarazione del tipo
struct SDES_INFO {
  string  CNAME;
  string  Name;
  string  EMail;
  string  Location;
  string  Phone;
  string  Tool;
  string  Note;
};  
SDES_INFO sdes;
Questo perche' mi serve che sia visibile in tutte le funzioni che sono
dichiarate in questo cpp.
In una funzione faccio una cosa del tipo
int len
sdes.CNAME(SourceData->SDES_GetCNAME(&len),len);
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^]
Questa funzione ritorna un char * e scrive in len la sua lunghezza.
Ricevo un errore dal compilatore che mi dice
no match for call to `(string)(char *,int &)'
Mi viene da pensare che questo e' dovuto al fatto che sto cercando di
usare un costruttore mentre le stringhe sono gia costruite, ma allora
come faccio ad assegnare alla stringa il char * specificandogli che la
sua lunghezza e' n? se faccio semplicemente
sdes.CNAME = SourceData->SDES_GetCNAME(&len);
ottengo una stringa piu' lunga di len con dei caratteri a caso alla fine
questo immagino perche' la char * non e' null-terminated.
-- 
  _  _  >>Now at work<<  _     || ICQ number.................Non lo uso
 | \| |___ _____ ___ ___|_|___ || Home-Page ................Non ce l'ho
 | .` | -_|     | -_|_ -| |_ -||| E-Mail................Non l'avrai mai
 |_|\_|___|_|_|_|___|___|_|___||| Un Nemesis che ha pochi e-contatti ;)

 char * specificandogli che la sua lunghezza e' n?
Ci sono vari modi, ma ovviamente la cosa migliore è fare 
restituire alla funzione qualcosa che in C/C++ assomigli a una 
stringa. Quindi o ritorni una std::string, oppure un char* ma con 
lo '\0' al posto giusto.
-- 
Ciao, Marvin

 
 size_t buffer_len = 0;
 const char* buffer = SourceData->SDES_GetCNAME( &buffer_len );
 sdes.CNAME.assign( buffer, buffer_len );
Max

Marvin ha scritto : 

Il fatto e' che io non posso modificare quella funzione in quanto e'
una funzione di una libreria che io uso.
Cmq al momento ho risolto cosi, il char * ritornato dalla funzione
l'assegno ad un char * momentaneo, questo poi lo uso per costruire
una stringa di appoggio che creo con il costruttore string(char* ,int),
ed infine copio questa stringa con quella contenuta nella struct. E'
un po' lunga come cosa ma funziona :)
-- 
  _  _ >>Now on Linux<<  _     || ICQ number.................Non lo uso

Newsgroup: it.comp.lang.c++
Titolo: Friend + classi derivate

int1; }
};
in modo da poter accedere i dati interni di Need_data dalle classi
derivate
di Friend_Base e solo da loro. L'altra alternativa mi pare quella di
raggruppare
tutti i dati privati della class needs_data in una struttura
class Needs_data
{
public:
...
private:
       struct private_data
       {
              dati privati ....
       };
       private_data my_data;
};
e poi:
class Friend_Base
{
public:
     ...
     virtual void load_data_from_file(Needs_data*, const char* fname)
const = 0;
protected:
     private_data& access_private(Needs_data* nd) { return nd.
my_data };
};
Entrambe le soluzioni mi appaiono un po 'pallose'!!! Mi chiedevo se
c'era un
modo piu' semplice di procedere.

 ho reso tutti i campi della classe Needs_data pubblici. 
...e secondo me questa � la cosa giusta da fare. Perch� vorresti tenere 
privati i dati di quella classe?
E.

 E.
Beh, perchè alla fine è solo la classe Needs_data che sa come 'usare'
i dati in essa contenuti, per fare i suoi calcoli diciamo, e fornire
al mondo
esterno il risultato attraverso una interfaccia definita. Diciamo che
le altre
classi nel programma non saprebbero che farsene dei dati grezzi, per
questo è
giusto che siano privati, Peraltro lasciandoli pubblici, potrebbe
accadere che,
estedendo il codice, mi venga la tentazione (o la svista) di accedere
direttamente,
il che creerebbe in effetti delle dipendenze tra classi non
desiderate!
Alla fine chiaro che così va bene, ovvero funziona (e per ora me lo
tengo!!!)
e mi risolve la faccenda dei differenti formati, non funziona solo dal
punto di
vista dell'incapsulamento tanto caro all'oop, ed in nome del quale gli
specificatori
di accesso 'public', 'private' etc. sono stati concepiti.
Giuliano
P.S. temo di aver fatto casini col post

 di accesso 'public', 'private' etc. sono stati concepiti.
Puoi usare l'ereditariet� protected per l'incapsulazione. Metti i tuoi 
dati nella parte pubblica di una classe base da cui erediti con modalit� 
protected. In questo modo dall'oggetto di alto livello non sar� 
possibile accedere ai dati.
E.

 E.
Caro E., la tua soluzione funziona egregiamente. Ho aggiunto pure
un costruttore di default protetto nella classe base, per evitare che
la base "nuda" possa essere instanziata da chi non dovrebbe.
Una domanda: come mai ereditarietà protetta e non privata ?
Grazie mille, Giuliano

 Una domanda: come mai ereditariet� protetta e non privata ?
Non ne sono sicuro. Forse � meglio privata...
E.

 E.
Alla fine ho usato la privata. In effetti la protetta, forse serve
solo
nel caso intendo dare accesso ai dati anche a sottoclassi della
mia classe derivata. Il che non è il mio caso, la mia classe è gia
'finale'.
Ciao, Giuliano
Newsgroup: it.comp.lang.c++
Titolo: VB Creare un componente a Runtime

*** post for FREE via your newsreader at 
post.newsfeeds.com
 ***
Ciao. Mi serve di usare il componente winsock.
Pero lo dovrei inserire in una dll.
Dentro il codice scrivo:
Dim objwinsock As MSWinsockLib.Winsock
Set objwinsock = CreateObject("MSWinsockLib.Winsock")
ma quando lo eseguo si blocca dicendo 
ActiveX Component cant create Obj
Ma in VB non si puo creare un oggetto dinamicamente?
lo devo x forza fare in VC?
-----= Posted via Newsfeeds.Com, Uncensored Usenet News =-----
http://www.newsfeeds.com
 - The #1 Newsgroup Service in the World!
-----==  Over 90,000 Newsgroups - 16 Different Servers! =-----

Hai sbagliato NG.
-- 
Posted from [194.214.173.28] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

Newsgroup: it.comp.lang.c++
Titolo: definizione di template

salve a tutti, vengo al dunque...
vi avviso che ho letto altri post e ho capito che non posso
implementare un template altrove che nello stesso listato della sua
dichiarazione (uso gcc), detto ciò
avendo dichiarato un template di coda ne modo seguente...
template<class C> class nodo{
                                C dato;
                                C* succ;
                                public:
                                nodo();
                                nodo(const C& c);
                                ~nodo();
                                void stampa();
                             };
...mi accingo a definirlo, quindi
template<class C> class nodo::nodo(){
                                                                      .............
                                                                  }
....ma gcc mi dice `template<class C> class nodo' used without
template parameters
ok, allora scrivo (ehm, bisogna anche andare alla cieca a volte)
template<class C> class nodo<C>::nodo(){
                                                                      .............
                                                                  }
...allorchè gcc mi avvisa che         expected unqualified-id before
')' token
...oltre che                                        expected `;'
before '{' token
vi chiedo quindi se potete risolvere questo problema (fossero tutti
così...)
in ultimo una considerazione: credo di aver capito , come dice il buon
bjarne, che implemento in un file diverso da quello della
dichiarazione per nascondere appunto l'implementazione all'utente, ma
in questo caso, dato che non posso definire altrove a che mi serve
definire al di fuori del template stesso?

 template<class C> class nodo::nodo(){
template <class C> nodo<C>::nodo() {
...
}

 - Mostra testo tra virgolette -
grazie Andrea....
nessun commento sulla mia considerazione?

 definire al di fuori del template stesso?
A nulla.
Puoi tranquillamente definire tutti i metodi all'interno della 
definizione della classe.
  bye
	av.
Newsgroup: it.comp.lang.c++
Titolo: AIUTO Sviluppo sw su ambiente Linux

Ciao Ragazzi,
ho l'esigenza di sviluppare un sw in C++ sotto linux.
Ecco la mia domanda:
mi potete suggerire quali sw utilizzare sotto linux sia per l'editing e per
il debug del mio sw?
Io avevo pensato GCC, ma siccome non sono un esperto (diciamo un novellino)
di Linux volevo avere una conferma da voi.
Vi Ringrazio per il tempo che mi avete dedicato,
Ciao .:: P ::.

 
Sei off-topic.
Comunque, lo standard di sviluppo sotto Linux è GCC.
Come ambiente integrato per lo sviluppo (quindi editor, gestione
progetto etc etc etc...) Emacs XEmacs o Kdevelop (
www.kdevelop.org
)
-- 
"Non mi piace il football, sta troppo ovunque: secondo me, l'eccesso di
calcio va a discapito del fosforo." (Marc 'O Chivec)
http://www.geocities.com/fabienstein

Newsgroup: it.comp.lang.c++
Titolo: WAS:"Un po' O.T.ma è relativo".The End

Rinnovo a tutti i miei ringraziamenti.
Ho finalmente deciso quale sarà il libro che mi guiderà nella giungla dell'assembly:"Linguaggio Assembly per pc IBM"di
P.Norton e John Socha finito di stampare nell'anno 1988 nel mese di ottobre.Io invece lo sto ancora scannerizzando:-).
Chi di voi è il fortunato possessore di una copia del suddetto libro potrà notare che da pag.343 a pag.348 viene fatto
intendere che il disco allegato al libro è indispensabile o quasi.Ed è proprio questo il problema:Chi anima nobile mi
spedirebbe il contenuto integrale del dischetto?
Purtroppo il mio amico non gli ha dato molta importanza ed ora ne siamo sprovvisti entrambi.Colpa sua però io non 
c'entro:-)
Ringrazio tutti per la cortese attenzione.


Certo che sei anche sveglio a violare così apertamente il copyright di
un libro scrivendo
un messaggio così demente (e sgrammaticato) in un gruppo come questo!!
Allora se ti prendi Dev di Gennaio 1998 oltre a trovarci un cdrom
sull'Assembly,ci trovi a
pag 72 della stessa rivista la recensione di un libro sull'Assembly a
cura di Andrea Fasano (che non é un pivello qualunque....).
Sono buono: poiché immagino che tu essendo troppo impegnato in
scanerrizzazioni del suddetto libro, non avrai tempo di procurarti la
rivista,ti do i dati:
Master Class Assembly Languagge 
Autori:I.Chebotko,Y.Kisilev,Y.Petrenko,D.Wronski
Editore:Wrox Press Ltd
ISBN :1-874416-34-6
Lingua:Inglese
Anno:1995
PREZZO: 90.000£
Pagine:987
Allegati: Floppy disk
Sono sicuro che investendo 90.000 £ ti procuri un signor testo (che a
detta dello stesso Fasano non ha nessuna controindicazione e na fa un
ottimo testo di riferimento nel settore dell'Assembly)
e poi non violi NESSUN copyright e soprattutto NON PERDI TEMPO in
minchiate di scanerizzazioni!!!!
Klaus ;-)
P.s.
Ricordati (e strano che nessuno se ne sia reso conto in questo
newsgroup) che saresti passibile di denuncia alla Siae...

...

Newsgroup: it.comp.lang.c++
Titolo: using namespace std; - What is it for?

Hi,
What is
using namespace std;
for? I read it helped to stop conflicts of functions with the same name or
something to that extent (it's a very blured memory).
Just wondering,
Marc

 for?
This statement makes std the current namespace. This means that if you
write, as an example,
cout << "Test" << endl;
the compiler search those symbols in that namespace. It would be as you
wrote
std::cout << "Test" << std::endl;
EMG

Newsgroup: it.comp.lang.c++
Titolo: ottimizzazione e compiler

salve: 2 cose:
1 uso il DevC++ 4 non c'è qualcosa di meglio  magari gratis NO crakkati o
simili!(grazie dei suggerimenti)
2 come fare a ottimizzare un programma di crittazione?
mi spiego: se qualcuno è solo interessato all'uso del C++ nella
crittografila 
linolus...@tin.it
 grazie.
siamo un gruppo di amici reggiani che cercano collaboratori....
Grazie ci vediamo...

 ha scritto nel messaggio
news:ovZ08.1568$Qu1....@news2.tin.it...
: salve: 2 cose:

:
:

 ha scritto nel messaggio
news:Fbk18.990$7m1....@twister1.libero.it...


 siamo un gruppo di amici reggiani che cercano collaboratori....
Collaboratori in che senso? C'è una commessa? Cercate volontari che
lavorino gratis? Cercate consigli?
--
Andrea Ferro
---------
Brainbench C++ Master. Scored higher than 97% of previous takers
Scores: Overall 4.46, Conceptual 5.0, Problem-Solving 5.0
More info 
http://www.brainbench.com/transcript.jsp?pid=2522556

[...]
Puoi quotare meglio?
Per "quotare" si intende il riportare le parti salienti del messaggio 
a cui si risponde al fine di facilitare la comprensione delle proprie 
risposte da parte dell'interlocutore, degli altri lettori del ng (che 
magari non leggono tutti i messaggi o che comunque hanno bisogno di 
"rinfrescare" la memoria di un thread che seguono, ma non li 
coinvolge direttamente) e anche di chi va a rileggere il messaggio 
trovandolo su 
groups.google.com
 o altri motori di ricerca.
E' opportuno riportare nelle risposte solo le parti di messaggio per 
cui si fanno osservazioni e/o aggiunte, evitando di riportare tutto 
il testo.
Per qualche nota sul quoting:
http://www.uwasa.fi/~ts/http/quote.html
-- 
Marco Barisione (ICQ 84277092)

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

salve,
avrei bisogno di scaricare un reference completo del c++ (contenente anche e
soprattutto le STL)
in modo da poter consultare le caratteristiche delle funzioni e delle classi
senza andare online.
come compilatore uso il devc++, come mi consigliate di fare?
cosa mi consigliate di scaricare??
grazie mille
Giulio

 soprattutto le STL)
thinking in C++ di Bruce Eckel
--
Ciao.
Maurizio
P.S.: eliminare _!NO$PAM! per rispodere in privato


Come mi è già capitato di dire, da qualche parte su 
www.borland.com
 ci
sono dei files HLP abbastanza ben fatti. Provali.
EMG
--
EMAG Software Homepage:     
http://www.emagsoftware.it
The EMG's ZX-Spectrum Page: 
http://www.emagsoftware.it/spectrum
The Best of Spectrum Games: 
http://www.emagsoftware.it/tbosg
Newsgroup: it.comp.lang.c++
Titolo: replace

Qualcuno sa come funziona il replace di string ?
vorrei sostituire ogni occorrenza di "'" in una
stringa con una occorrenza di "\'"
Avevo provato la cosa seguente ma non capisco perche' non va
#include <iostream>
#include <string>
string SistemaApostrofi(string da_sistemare) {
    char dcost[4096];
    for(string::size_type k=0; k < sizeof(dcost); k++) dcost[k]=0;
    for(string::size_type i=0,j=0; i < da_sistemare.length(); i++){
        if(da_sistemare[i]=='\'') {
            dcost[j]='\\';
            dcost[j+1]='\'';
                 j=j+2;
         }
         else {
           dcost[j]=da_sistemare[i];;
           j++;
        }
    }
    string d(dcost);
    return d;
}
string SistemaConTemplate(string da_sistemare) {
    string locale=da_sistemare;
    string::size_type pos=0;
    while( ((pos=locale.find('\'',pos))>=0) &&
           (pos < locale.length()) ) {
        locale.replace(pos,pos,"\'");
        pos=pos+2;
    }
    return locale;
}
int main() {
    string aa="'top'gig'";
    string bb="'top'gig'";
    aa=SistemaApostrofi(aa);
    bb=SistemaConTemplate(bb);
    cout << aa << endl;
    cout << bb << endl;
}
[db2inst1@pegasus parser]$ !g
g++ -Wall -g a.cc -o a
[db2inst1@pegasus parser]$ a
\'top\'gig\'
''top'
[db2inst1@pegasus parser]$

 stringa con una occorrenza di "\'"
#include <string>
#include <iostream>
using std::string;
int main() {
  string s("abc'def'ghi");
  string from("'");
  string to("\\'");
  for (string::size_type i = 0; ((i = s.find(from, i)) != string::npos);
       i+= to.size()) s.replace(i, 1, to);
  std::cout << s << std::endl;
  return 0;
}
-- 
Maurizio Loreti                         
http://www.pd.infn.it/~loreti/mlo.html
Univ. of Padova, Dept. of Physics - Padova, Italy            
lor...@pd.infn.it
The instructions said to use Windows 98 or better - so I installed FreeBSD.

Newsgroup: it.comp.lang.c++
Titolo: Mi date un prototipo di ActiveX?

Sto litigando da un mese con un ActiveX banalissimo che genera un evento e
passa una stringa (bstr) a VisualBasic. Appena ricevo la stringa da VB e
faccio qualsiasi cosa, ad esempio una Len, il programma va in crash.
Invece di capire il perche' (l'activex e' stato fatto da un amico), vi
chiedo cortesemente di passarmi il codice di un ActiveX banale, da usare
come base di partenza. L'importante e' che passi una stringa a VB e che
questi sia in grado di riceverla correttamente.
Grazie in anticipo per la cortesia. Sono uno di quelli che prima di chiedere
passa giorni sulla documentazione, ma questa volta sta passando troppo tempo
e non riesco a venirne a capo.
Enrico

 wrote in message
news:si4jf69...@news.supernews.com...

Dipende tutto dal framework che usi per implementare il tuo
ActiveX, cioe` MFC, oppure ATL, oppure che altro ancora.  Ti
consiglio quindi di postare la domanda su it.comp.programmare.win32
(non qui, perche` it.comp.lang.c++ e` dedicato al C++ "e basta"),
*CON* la specifica del framework di tuo specifico interesse.
Alex
Newsgroup: it.comp.lang.c++
Titolo: ciao a tutti ! un piccolo problemico.. spero che mi aiuterete

ciao a tutti ! un piccolo problemico.. spero che mi aiuterete, ... io devo
passare il contenuto del registro ax in una variabile di dimensione long,
faccio
asm
   {
      mul bx
      loop ciclo
      mov alta,dx
      mov bassa,ax
   }
 cout<<alta;
 cout<<bassa;
   return (alta*256+bassa);
pero' lui non mi passa niente, anzi rimane 0!
se mi aiuterete non vi dimenticherň mai! grazie !!!!!

 ha scritto nel messaggio
news:cowL7.11037$4M2.2...@news2.tin.it...


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

Salve
ho un programma scritto in c++ da compilare per farlo girare sotto windows
ma non ho la minima idea di come fare.Qualcuno puņ aiutarmi?Esiste un
compilatore shareware?Dove posso trovarlo?
Scusate ma altre informazioni non sono in grado di fornirle perchč sono
proprio "digiuno" in materia!
Grazie a tutti!
Marco Lazzeri                             
m...@versilia.net

compilatore shareware?Dove posso trovarlo?
Esistono ottimi compilatori completamente gratuiti: parlo delle ultime
versioni di EGCS (Extended Gnu Compiler System, un tempo detto
"gcc", "Gnu C Compiler"), nei due port GNUWIN32 (piu` "pesante",
e "ricco"; piu` adatto per il port di programmi provenienti da Unix)
e MINGW32 (piu` "leggero" e "snello"; piu` adatto per sviluppare
nuovi programmi).
www.cygnus.com
 ti dara` i link diretti per EGCS e GNUWIN32 (che
la Cygnus sviluppa e rilascia) e puntatori verso MINGW32 (Mumit
Khan e` l'autore del migliore e piu` noto port di EGCS per MINGW32).
Alex

compilatore shareware?Dove posso trovarlo?


 Scusate ma altre informazioni non sono in grado di fornirle perchè sono


 writes:
   Perchè non provi con gcc sotto Linux... è considerato uno dei migliori anche
   dai professionisti. Non è per Windows ma ne vale la pena... ed è free in ogni
   senso, economico e filosofico.
C'e` anche per windows.  
www.cygnus.com

Newsgroup: it.comp.lang.c++
Titolo: Template e casi particolari

Dunque,
il problema e' questo. Supponiamo di voler costruire una serie di classi che
incapsulino il concetto di matrice di numeri. Per poter usare differenti
rappresentazioni, uso i template: avro' cosi' matrici di interi (segnati e
non), di float, ecc.
Esiste un modo per andare in override di un metodo di una di queste classi
(ad esempio quella con interi non segnati), senza toccare l'implementazione,
fornita attraverso i template, delle altre?
Spero di essere stato abbastanza chiaro.
-----== Posted via Deja News, The Leader in Internet Discussion ==-----
http://www.dejanews.com/rg_mkgrp.xp
   Create Your Own Free Member Forum

fornita attraverso i template, delle altre?
Puoi specializzare l'istanziazione di un template per
un dato set di argomenti, ma non si tratta di override
(non c'e` polimorfismo, non c'e` eredita`) -- devi dare
l'intera implementazione della classe che specializzi.
(Puo` anche non avere tutti i metodi che ha il caso
generale, per esempio).
Alex



Newsgroup: it.comp.lang.c++
Titolo: cout e cerr

Che differenza c'è tra questi due oggetti?
Provandoli sembrano uguali:
cout <<"ciao";
cerr <<"ciao";
Entrambi stampano la stringa "ciao".

e' unix. 
cerr e' lo stream dove vengono riportati i messaggi di errore, 
cout e' lo stream dove vengono riportati i messaggi normali.
Sta al sistema operativo di (eventualmente) usarli in modo differente.


 Sta al sistema operativo di (eventualmente) usarli in modo differente.
No. Sta a te. Altri sanno spiegare come fare meglio di me.
Ciao,
Nicola

 Nicola

 C'e' qualcuno che conosce i dettagli a norma standard?
A norma di standard, sta proprio a te, nel senso che hai modo di
"indirizzare" dove gli stream convenzionali leggono e scrivono. Lo
standard non specifica (come potrebbe?) i comportamenti dipendenti dalle
diverse impelmentazioni: si limita ad indicare quali sono.
Ciao,
Nicola

 
davvero a norma standard ho modo di indirizzare gli stream? Mi spiego
meglio: lo standard prevede quello che gli stream possono fare al di la'
di quello che e' possibile fare con essi? 
Il problema che Max aveva era: qual'e' la differenza tra cout e cerr. Mi
piacerebbe sapere se la risposta a norma standard e: 
nessuna, sono due stream previsti dalla libreria standard che hanno nomi
diversi, <begin non standard mode> e che in diversi sistemi operativi
molto famosi come Unix sono usati differentemente dal sistema, dall
shell etc. etc. <end non standard mode>
oppure:
Ci sono delle differenze: cerr non accetta caratteri maiuscoli...
Io credo che la risposta giusta sia la prima (anche se aspetto gli
esperti dello standard al riguardo).

A norma di standard esistono tre ostream predefiniti:
cout e' bufferizzata, ed e' inteso come standard output
cerr non e' bufferizzata, ed e' inteso come destinazione per i messaggi
diagnostici
clog e' la stessa destinazione di cerr, ma e' bufferizzata.
Dove effettivamente vanno i caratteri scritti in questi stream, lo
standard non lo dice. Sono pero' presenti meccanismi per sostituire i
buffer sottostanti a questi stream.
Ciao,
Nicola
Newsgroup: it.comp.lang.c++
Titolo: i colori di una bitmap....

Come si fa ad ottenere la lista dei colori usati da una bitmap?
Mi spiego:
 io so che l'array dei colori č definito dalla struttura RGBQUAD alla quale
posso fare accesso tramite BITMAPINFO, nella quale č contenuta...
ora, se io creo una struttura di tipo BITMAP come faccio a recuperare i
colori?
Ho provato a definire un puntatore a BITMAPINFO, ossia facendo
BITMAP bm;
......
......
LPBITMAPINFO lpbmi;
nColors = bm.bmBitsPixel; 
for (i=0; i< nColors; i++)  {
rosso = lpbmi->bmiColors[i].rgbRed;
verde = lpbmi->bmiColors[i].rgbGreen;
blu = lpbmi->bmiColors[i].rgbBlue;
}
ma i colori che vengono fuori non sono quelli della mia immagine
(considerandone una con pochi e ben definiti colori... tipo clip-art)...
Effettivamente ho un dubbio sulla def. di 'lpbmi'... come faccio a dirgli
che č relativo alla mia bitmap?
Qualcuno sa dirmi dove sbaglio? Č l'occasione per imparare qualcosa in
piů..
grazie mille
Annamaria
 
 

Come si fa ad ottenere la lista dei colori usati da una bitmap?
mmm, il discorso e' un po' complesso per cui penso che per avere
un'idea precisa ti convenga leggere i manuali, comunque in linea di
massima windows non memorizza la tabella dei colori (palette) insieme
al bitmap a meno che questo non sia un DIB. In caso si stia parlando
di bitmap, quelli creati con una CreateCompatibleBitmap() per
intenderci, per stabilire come debbano essere visualizzati i colori e'
necessaria anche una palette (HPALETTE) in mancanza di una palette di
colori windows considera il bitmap come se avesse i soli 20 colori
base.
Nel caso di un DIB invece la palette di colori e' memorizzata come
array di RGBQUAD nell'header del DIB stesso (BITMAPINFOHEADER).
Dalle poche righe di codice che hai scritto non si capisce che tipo di
bitmap stai utilizzando per cui non posso essere piu' preciso sul modo
in cui puoi accedere alla palette.
Gianpaolo Bottin
- Live Long and Prosper -
Newsgroup: it.comp.lang.c++
Titolo: char (*list)[SIZE]



Salve,

mi servirebbe un lista indefinita di vettori di dimensioni SIZE.

Il visual C++ 5.0 non mi konsente di avere vettori non dimensionati,

kuindi ho provato kon:

char (*list)[SIZE];

dopo aver allocato, tento di skrivere il primo vettore,

ci riesko ma non riesko a proseguire.... Io vorrei una kosa del tipo:

list[0] = "primo"


list[1] = "secondo"


...


list[n] = "n-esimo"


senza konoscere a priori n.

Grazie!!

 

Tommaso Caldarola

OMAR S.p.A.

Tel.: 
+390806354123


e-mail: 
cald...@omarnet.it


Web:  
http://www.angelfire.com/sk/tommaso


 


...


    list[n] = "n-esimo"
Per valorizzare gli elementi non puoi scrivere in questo modo perche'
"list[0]" non e' un puntatore propriamente detto quindi non puo' essere
assegnato. E' un po' come scrivere:
char stringa[10];
stringa = "ciao";    // ERRORE
Per valorizzare le stringhe devi copiarne il contenuto, ad es. con la
funzione "strcpy", quindi:
strcpy(list[0], "primo");
strcpy(list[1], "secondo");
-----
Nel caso invece in cui tu voglia allocare dinamicamente anche le singole
stringhe (ma non mi sembra fosse la tua richiesta), allora potresti fare
qualcosa del genere.
char **list;    // puntatore a puntatore di caratteri
int n = 5;    // il numero di elementi da allocare
list = new char*[n]   // Allochi "n" puntatori
list[0] = "primo";    // OK, stringa costante
list[1] = LaMiaStringa;
dove "LaMiaStringa", naturalmente deve essere una stringa allocata che pero'
non venga deallocata fino a che la lista non venga svuotata o rimossa essa
stessa, in quanto il "list[1]" c'e' il puntatore a "LaMiaStringa".
----
Alla prossima, ciao,
Angelo.

Newsgroup: it.comp.lang.c++
Titolo: [CPP] riferimenti - return - allocazione

ciao a tutti !
... un dubbio...
e' lecito fare una cosa del genere ?
....
Complex& Complex::operator +(Complex& x) const{	// NOTA Complex&	
	return Complex(re+
x.re
,im+
x.im
);				
}
....
Cioe' l'allocazione che avviene con la return si puo' considerare
dinamica? quindi posso ritornare un riferimento all'istanza di
Complex? in pratica funziona... !
Ma credo che non sia giusto fare cosi e devo accontentarmi di
ritornare un Complex aggiungendo ulteriore overhead perche' viene
chiamato il costruttore di copia... 
voi che ne dite ??

 ha scritto nel messaggio
news:7l0qlvoleo2v3v41d...@4ax.com...

non puoi ritornare un riferimento ad un oggetto locale...
-- 
Pela

 chiamato il costruttore di copia...
*CREDO* che la maggior parte dei compilatori, se abiliti le
ottimizzazioni, elimini questa copia in effetti inutile.
Per maggiori informazioni cerca C++ Informer di Carlo Pescio (era una
rivista elettronica purtroppo durata molto poco), ricordo che c'era un
articolo proprio su questa ottimizzazione.
 bye
	av.


ok, grazie ad entrambi   :)
Chucky.
Newsgroup: it.comp.lang.c++
Titolo: Array di funzioni membro

Che voi sappiate è possibile creare un array di puntatori a funzioni membro
di una classe? anche provando a dichiararle statiche col VC++ non mi riesce
Bye
Antonio

 membro di una classe?
  class A
  {    public:
       void func()  { }
  } ;
  typedef  void( A::* A_func_t ) () ;
  A_func_t array[ 10 ];
  array[0] = &A::func;
Questo non si compila con VC++?
Max


Compila compila e infati ho risolto il problema...
Grazie
Antonio

Newsgroup: it.comp.lang.c++
Titolo: problema con list::sort()

Salve a tutto il newsgroup.
ho un problema a capire come funziano gli operatori sovraccaricati in
pratica ho il seguente codice;
class personaggio {
public:
....
bool operator < (personaggio* altro){
  if(ritorna_altezza()<altro->ritorna_altezza()){
    return true;
  }else{
    return false;
  }
}
}
poi in un altro punto del programma su una lista cosi definita:
std::list<personaggio*> lista_p;
richiamo il metodo sort()
lista_p.sort();
nella documentazione c'e' scritto che per ordinarsi la lista usa
l'operatore "minore di" ma tuttavia nel mio caso l'operatore
sovraccaricato non viene richiamato.
Qualche idea?
Ciao.
C.
-- 
Cage - Just another Debian user
Autoproclamatosi fan N°1 di Sucaman
http://www.autistici.org/interzona/
zetalab: 
http://www.inventati.org/zetalab/

 sovraccaricato non viene richiamato.
Quello che hai dichiarato e definito non si applica a due instanze di 
'personaggio*', quindi non è l'operator< che ti serve.
Ti serve, invece, un'operator< dichiarato in questo modo (necessariamente 
all'esterno della dichiarazione di 'personaggio'):
 bool operator<( personaggio* a, personaggio* b );
In alternativa, 'std::list' dispone di un overload template di 'sort'
 
 template<class Pr3>
    void sort(Pr3 pred);
a cui può essere passata un'instanza di una classe funzionale che 
implementi il confronto:
 struct personaggio_ptr_less
 {
      bool operator()( personaggio* a, personaggio* b ) const
      {
       if( a->ritorna_altezza() < b->ritorna_altezza() return true;
       else return false; 
      }
 };
 lista_p.sort( personaggio_ptr_less() );
Max

 In alternativa, 'std::list' dispone di un overload template di 'sort'
CUT
questo lo avevo gia' fatto ma non riuscivo a capire perche' il primo
metodo non funzionasse; sei stato molto gentile ti ringrazio di cuore.

Newsgroup: it.comp.lang.c++
Titolo: Come alloca sta memoria????

Stro cercando di leggereda un file dove all'inizio c'è un UINT che specifica
la lunghezza delle stringa che viene subito dopo:
UINT NameLength;
char *FontName;
fread(&NameLength,sizeof(UINT),1,fp);
FontName=(char *)malloc(sizeof(char)* NameLength);
fread(FontName,NameLength,1,fp);
Dopo aver allocato con malloc la memoria per la stringa FontName mi risulta
lunga 24???????
Anche se scrivo FontName=(char *)malloc(sizeof(char)* 5); risulta sempre
lunga 24
Pure se creao una CString e ci copio FontName risulta lunga 24.
Qualcuno sa spiegarmi il motivo di tale comportamento?? E' corretto??
Grazie

 Pure se creao una CString e ci copio FontName risulta lunga 24.
Forse perché la stringa che leggi dal file è lunga 24 caratteri? La 
lunghezza di FontName la controlli con strlen?
Guarda che
const char arr[12]="Ape";
printf("%u, %u", strlen(arr), sizeof(arr));
stampa 3 *e* 12!
Strlen si limita a contare quanti byte ci tra quello del quale le 
passi l'indirizzo (compreso) e il terminatore nullo (non compreso), 
non restituisce la dimensione totale dell'area allocata.
f/up su it.comp.lang.c.
Saluti.
-- 
Per l'e-mail rimuovere la frase in maiuscolo e gli underscore.

Newsgroup: it.comp.lang.c++
Titolo: L'angolo del principiante

Salve a tutti,
volevo fare un pň in giro qualche domandina tipica da principiante.
Come? Non ne potete piů?
Ok, allora volevo un vostro parere su un algoritmo di IA innovativo che ho
sviluppato... pensate, ha reso il mio comp cosě intelligente che, piuttosto
che farsi utilizzare da me, attiva uno screensaver irremovibile appena mi
avvicino a meno di 2 metri da lui. Su quello che c'č scritto sullo
screensaver, preferirei sorvolare.
L'altra cosa che volevo chiedere č: quale editor mi consigliate per stilare
il mio bravo codice sorgente?Possibilmente con queste caratteristiche:
1) Deve essere facile da installare: Lo unzippo, chiamo l'eseguibile e sono
a cavallo. Niente settaggi
 (l'ho detto che sono un principiante?).
2) Mi deve colorare a dovere quello che batto per motivi di leggibilitŕ.
C'ho i vizi che ci devo fare?
3) La cosa piů importante: Deve avere un massiccio help su tutte le varie
funzioncine, magari pure con qualche esempio.
Ringrazio anticipatamente per l'attenzione. Spero di non avervi annoiato
troppo
P.S.: Mi sono dimenticato di specificare che il tutto deve essere freeware,
ma non era sottinteso?

 3) La cosa più importante: Deve avere un massiccio help su tutte le varie


Ciao Salvatore
scaricati il Devด++ da qua che ha tutto cioด che chiedi:
http://www.bloodshed.net/devcpp.html
Mauro

Newsgroup: it.comp.lang.c++
Titolo: manuale di c ------>cercasi

Sto cercando un manuale di C per sistema unix e\o per sistema windows
preferibilmente in italiano.
Bye Bye

 preferibilmente in italiano.
Io ho iniziato con questo manuale
-    M. Romagnoli, P. Ventura
-    Linguaggio C e C++
Controlla se era quello che ti serviva
[Master]
Newsgroup: it.comp.lang.c++
Titolo: DB e Builder

Salvew gente !!!
Avrei il bisogno di reperire informazioni per
la programmazione del dbe di c++builder
quancuno ne sa qualcosa ?

Sul sito 
www.inprise.com/devsupport
 trovi parecchia documentazione sulla
programmazione del BDE. Con il C++Builder, comunqe, viene fornito l'help
delle API del BDE, incomincia da quello.
Io ho un articolo di introduzione alla programmazione del BDE, se ti
interessa te lo mando in e-mail.
--
Byez.
Stefano Tempesta
temp...@tin.it
http://tempesta.freeweb.org
--------------------------------
(-: To "shut down" your system, type "WIN" :-)
(-: Windows VirusScan 1.0 - "Windows found: Remove it? (Y/N)" :-)