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

Ho un problema con il Borland C++ Builder 3 (Standard edition).
Vorrei chiamare una form contenente una memo, cioe:
FinestraConMemo->ShowModal();
Ad uscita dalla form, correi che il contenuto della Memo fosse passato
al form chiamante, e assegnato alla propieta' SQL di un componente
Query, cioe:
Query1->SQL=Memo1->Lines
Il problema e' che non so' come accedere al contenuto della Memo
aldifuori della unit chiamata con ShowModal().
Ho provato a scrivere nel form chiamante
TStrings *strs;
e nella unit chiamata
extern TStrings *strs;
ad uscita dalla form (quando uno clicca sul bottone "OK") ho scritto
strs=Memo1->Lines
e nella form chimante
Query1->SQL=strs;
ma non vorrei far confusione con i puntatori, ho provato a scrivere
TStrings *strs=new TStrings(this); // Alloca memoria
ma il compilatore mi da errore, ho provato a scrivere nella unit
chiamata
extern TMemo* Memo1;
ma ricevo un messaggio di errore.
Qualcuno puo' aiutarmi?
Il problema e' che non vorrei usare un puntatore senza allocare
memoria.


Sei OT. Qui si discute *solo* di C++ Standard. Concetti come SQL e 
dialoghi modali ( e loro implementazioni particolari ) sono sconosciute 
al c++. Non so dirti quale sia perchč non ho mai usato il borland dal 
'96 ad oggi, ma ci saranno ng piů specializzati di questo ( e quindi 
persone mediamente piů preparate di quelle che puoi trovare qui).
Buona giornata,
j0k3r

 Sei OT. Qui si discute *solo* di C++ Standard.
Finche non decidiamo di rinominare il gruppo ci dovremo sempre sorbire 
questi OT. :-((( 
-- 
Luc

 aldifuori della unit chiamata con ShowModal().
TStrings è un oggetto complesso: non è una semplice stringa.
Vedi meglio la documentazione su TStrings.
Ci sono due modi per fare quello che vuoi fare:
1)
Query1->SQL=Memo1->Lines->Text;
per prendere tutto il testo contenuto nel TMemo.
2)
Query1->SQL=Memo1->Lines->Strings[i];
per prendere solo la i-esima riga.

[mega cut]
Per questioni inerenti al C++ Builder della Borland, prova questo loro ng:
borland.public.cppbuilder.vcl.components.using
o similari (ce ne sono un po' per tutte le categorie).
Ti assicuro che e' valido.
Buon lavoro.

 borland.public.cppbuilder.vcl.components.using
C'č da vedere se il suo server news ce l'ha o no...
per esempio su 
news.tin.it
 non c'č.


In ogni caso si puo' usare il newserver della Borland
ovvero 
newsgroups.borland.com
che e' libero a tutti, anche se ovviamente ha solo i gruppi della
borland
ciao,
g.

...

Infatti per accedere bisogna collegarsi al server della Borland:
newsgroups.borland.com
Ciao,
Nicola

 
C'e' sia su Libero che su Tiscali.

Trumpet Solo wrote:

Ma su Tin no.
Newsgroup: it.comp.lang.c++
Titolo: Stessa classe in static libraries differenti

Salve.
Uso VC++6.0 e sto cercando informazioni un po' piu' dettagliate di quelle
fornite in linea sulla compilazione separata.
In particolare  non mi e' chiaro cosa debba succedere quando faccio il link
usando piu' static libraries (.lib) ciascuna delle quali usa una stessa
classe A (e quindi presumibilmente ne implementa le funzioni membro).
Dovrei ottenere un errore di ridefinizione per le funzioni? Cosa dovrebbe
succedere ai campi e alle funzioni class static?
Il VC++ non mi da'  nemmeno un warning e semplicemente prende come
definizione della classe A quella fornita nel primo modulo dato in pasto al
link (anche per tutte le altre librerie che usano A).
E' una politica lasciata alle implementazioni o e' prescritto cosi'  dallo
standard?
Paolo

Paolo <paolo@.> wrote in message 85nkmd$25h$1...@fe1.cs.interbusiness.it...

Lo standard prevede che le implementazioni non siano tenute
a diagnosticare ogni violazione della one-definition rule (e questa
e` una di queste violazioni).
In altri termini, il compilatore PUO` dare warning o errori, ma
non e` tenuto a farlo (e il risultato e` comunque unspecified,
cioe` si possono presentare varie anomalie strane).
Alex

Newsgroup: it.comp.lang.c++
Titolo: standard C++ draft

Salve.
Sono interessato ad acquistare lo standard draft in pdf ma non possiedo
una carta di credito.
Qualcuno sa se ci sono altri metodi di pagamento o un qualunque altro
modo per risolvere il mio problema?
Grazie  Manlio Perillo

Ma il draft non era gratuito?
Paolo
--------------------------------------------------
  Paolo Marotta
  Computer Science, University of Pisa
  home:   
http://www.cli.di.unipi.it/~marotta
--------------------------------------------------

Il draft era gratuito, mentre quello che si paga e' lo standard vero e
proprio. Per il mittente originale: puoi provare a rivolgerti all'UNI,
che e' l'ente normativo italiano e che trovi su 
http://www.unicei.it/
 .
Temo pero' che ti offriranno la versione cartacea, che costa moooolto di
piu' del .PDF.
Ciao,
Nicola

 Paolo
Si, in effetti mi sono sbagliato.
Quello che intendevo è lo standard definitivo.
Il mio problema è che non ho una carta di credito e volevo sapere se ci sono
altri
metodi di pagamento (ad esempio conto corrente o altro)
Grazie Manlio Perillo
Newsgroup: it.comp.lang.c++
Titolo: Programmatore in erba .... Help :::: !

Ciao Ragą Sono nuovo in Questo newsgroup sto iniziando da poco ad
avvicinarmi alla programmazione in C++ , Mi sapreste consigliare un buon
programma per iniziare ?
                                                                         -
BlacKLighT -

programma per iniziare ?
Cosa intendi con programma? Un compilatore? Se č cosě puoi usare
DevC++ (compilatore + IDE) che trovi gratuitamente su
www.bloodshed.net
. Un elenco di buoni libri lo trovi nelle FAQ del
gruppo su 
http://cpp.programmazione.it
. Se il C++ č il primo
linguaggio di programmazione che impari potrebbe non essere il piů
adatto, meglio iniziare da qualcosa di piů semplice come python o
pascal.
-- 
Marco Barisione (ICQ 84277092)

 ha scritto nel messaggio
news:bfgmpuktgeajblsev...@4ax.com...

Ma il copilatore serve per programmare in modo vero č proprio ?
                                            - BlacKLighT -

 Ma il copilatore serve per programmare in modo vero č proprio ?
Il compilatore, diciamo, serve per "tradurre" quello che scrivi in C++
(o in altro linguaggio) in una serie di istruzioni che possano essere
direttamente eseguite dall'hardware del tuo computer.
In pratica č il traduttore dalla tua lingua a quella del computer.
--
Gerolamo
Newsgroup: it.comp.lang.c++
Titolo: Rivolto ai GURU del NG: OT da infiltrato ma ci spero!

Sono un "infiltrato" ...nel senso che uso VB .
Ma scrivo anche a voi nella speranza che un guru mi risponda.
Anche voi usate ADO per accedere ai dati su un db!(almeno spero)
Il comportamento è questo:
Accesso tramite ADO
 ho una query dentro un DB di Access
(qualsiasi Access: 2.0, 97,2000) e tale query la associo a una griglia od
anche a semplici caselle di testo,
mi si permette la lettura ma non la modifica.
La ragione è (secondo lui): le informazioni sulle colonne chiave non sono
sufficienti per effettuare
l'aggiornamento!
Tale comportamento lo ho rilevato anche con un DB agganciato tramite ODBC
(l'origine era comunque un mdb)
sotto Interdev.
In interdev era ancora più frustrante perchè avevo associato una TABELLA con
il campo primaryKey composto da due campi.
 ed allora cosa c$"£zo non mi fai cancellare se nel caso della tabella è
evidente che i dati sono quelli... cosa cavolo di informazioni in più
chiede?
A scanso di equivoci:
PC 128 Mb 8 gb HardDisk
Win NT Server Sp4
No virus
VB6 Ent
Sevice Pack 3
Mdac ultima release
ADO funzionante
Tutte i DB sono aperti non in maniera esclusiva.
Le query non hanno DISTINCT o DISTINCTROW
I dati sono aperti STATIC o KEYSET comunque ho provato anche dynamic
Lock Ottimistico o BatchOttimistico
Problema presente con provider JET e ODBC (non fa differenza)
già spulciato MSDN e non ho trovato risposta
Il tutto assume il tono di una grossa voglia di andare a fare il coltivatore
diretto quando le medesime azioni (inserisci,cancella) access le svolge
tranquillamente come se niente fosse!
Perchè scrivo ai guru:
vari post sotto c'era chi suggeriva di eliminare i distinct... chi di usare
provider ODBC...chi altro ancora.
A me sembra che siano tutti metodi empirici ( che tra l'altro a me non
funzionano) .
Siccome mi piace provare a capire le cose prima di arrendermi  e di
rassegnarmi ad una vita da contadino, gradirei sapere se qualcuno è in grado
di spiegarmi non il rimedio ( che caso mai funziona solo sul suo pc) MA la
causa del male!
Ora siccome i guru del c++ sono da sempre dei "mostri" di conoscenza  vorrei
sapere se sto problema delle chiavi insufficienti è risolvibile e come.
Grazie per l'infinita pazienza
Attendo fiducioso!

 Anche voi usate ADO per accedere ai dati su un db!(almeno spero)
Si`, ma non ne parliamo su questo gruppo (che e` dedicato alla
programmazione in C++ standard) bensi` nel gruppo dedicato a Win32,
it.comp.programmare.win32 (gruppo che pure molti di noi usano
frequentare, per discutere delle questioni ad esso relative).  Ti
consiglio di provare a chiedere li`.
Alex
Newsgroup: it.comp.lang.c++
Titolo: DOCUMENTAZIONE MS VC++

Salve a tutti,
è possibile rintracciare su internet una sorta di manuale sulle
recenti versioni di Microsoft VC++? In alternativa sapreste indicarmi
un buon libro specifico per questo prodotto software?
Grazie
Gianluca

 wrote in message
370e69b8...@news.iol.it...


...


alcuni bachi di VC++.
A dire il vero, presso 
msdn.microsoft.com
 c'e' TUTTA la documentazione MSDN
online (anche se sfido chiunque ad usarla produttivamente senza averla su
CD, a meno che disponga di una T1 a casa :-)
Davide Marcato.
----------------------------------------------------
| -- Freelance International Consultant
| -- Win32/MFC/COM Development & Training
| -- Technical Writer & Speaker
----------------------------------------------------
| -- Email: 
mar...@programmers.net
| -- Web: 
http://www.DavideMarcato.com
----------------------------------------------------

...


avendo i cd   non l'ho mai utilizzata in rete.
Il brutto e' che nella transizione da 
www.microsoft.com/msdn
 a
msdn.microsoft.com
 si e' perso il mirroring in Europa, che era cosi' veloce
da entrambi i miei account.
Ho protestato sia via e-mail sia personalmente con alcuni membri del team
MSDN e Visual C++ in Microsoft USA, chiedendo l'apertura di un
msdn.eu.microsoft.com
. Non si puo' fare altro che sperare. Se qualcuno
vuole unirsi alla mia richiesta, l'indirizzo a cui farsi sentire e'
ms...@microsoft.com
Newsgroup: it.comp.lang.c++
Titolo: Matrice di puntatori a CObject

C'č qualcuno che mi potrebbe suggerire un modo di realizzare una matrice
di puntatori a CObject ( classe base della libreria MFC ). L'ottimo
sarebbe creare una classe che rappresenta una matrice di puntatori a
CObject in modo da poter essere utilizzata per creare matrici di ogni
tipo derivato da CObject. Mi basta vedere come implementare il
costruttore ed il distruttore.
Grazie infinite.
--
Stefano Gigli

...

Ci sono due sostanziali approcci alla costruzione di matrici (2d) in
C++: usando array di array, oppure un array unidimensionale.  Il
secondo approccio e` piu` efficiente, ma per indirizzare la matrice
occorrono, o un operator() al posto di due operator[], oppure una
"classe intermedia" di accesso, che rappresenti una singola riga
(o una singola colonna, se vuoi organizzare cosi` le cose).
In C++ moderno, diciamo con VC++5 o successivi per chi usa
VC++, gli array dinamici si fanno con vector<>.  Quindi, il piu`
semplice degli approcci sarebbe:
#include <vector>
class COPmatrix: {
    typedef std::vector<CObject*> conten;
    conten c;
    size_t lato;
public:
    explicit COPmatrix(size_t lato): c(lato*lato), lato(lato) {}
    CObject*& operator(size_t x, size_t y) { return c[x+y*lato]; }
    size_t getLato() const { return lato; }
};
Tutto qua; non occorre il distruttore, poiche` il membro c,
di tipo vector, si autodistrugge correttamente quando e`
distrutto l'oggetto che lo contiene (a meno che nel dtor
non si vogliano fare altre cose, come rilasciare gli oggetti
puntati, ecc).
L'uso e` pure assai semplice, ad esempio:
    COPmatrix mtx(25);
    int i, j;
    char buf[]="EvXY";
    for(i=0;i<25;++i) {
        buf[2] = 'A'+i;
        for(j=0;j<25;++j) {
            buf[3] = 'A'+j;
            mtx(i,j)=new CEvent(FALSE,TRUE,buf);
        }
    }
ecc, ecc.  L'accessore "mtx(i,j)" e` molto semplice.
Per poter scrivere mtx[i][j] bisogna che mtx[i] torni
un "qualcosa" cui l'operator[] possa essere applicato,
con argomento j, fornendo la reference desiderata.
Potrebbe bastare aggiungere alla gia` vista definizione
della classe COPmatrix un altro operatore inline:
    CObject** operator[](size_t x) {
        return &c[x*lato];
    }
(visto che VC++ garantisce l'adiacenza degli elementi
del vector); questo funzionerebbe per l'uso desiderato,
ma naturalmente, vista la polivalenza dei puntatori, si
presta anche a vari "usi errati".
Alex
Newsgroup: it.comp.lang.c++
Titolo: Suoni

Vorrei poter usare file audio, wav o midi, e immagini, qualsiasi formato, in
programmi scritti in C6++ per DOS.
Grazie a tutti!!
lpre...@tin.it



 programmi scritti in C6++ per DOS.
Magari il caldo mi fa brutti scherzi, ma mi spieghi cos'e' questo C6++ per
DOS?
Ciao.
-- 
Jo Parrello (
jopa...@tin.it
)
http://space.tin.it/computer/giparrel

Newsgroup: it.comp.lang.c++
Titolo: compilatori 64 bit

Ciao ragazzi, scusate se questa sarï¿œ una stra-faq, ma ammetto di non 
leggerle da tempo.
A parte x linux la cui risposta mi pare scontata, che compilatori 64 bit 
ci sono per Windows.
Io usavo il Borland ed il MingW ma sono entrambi 32 bit.
Se fosse free ed una buon IDE con debugger sarebbe il top.
Ciao.

 Io usavo il Borland ed il MingW ma sono entrambi 32 bit.
Una semplice ricerca mingw 64 bit la potevi anche fare...
Il Borlan C++ è diventato ora Embarcadero C++Builder.
Infine c'è Visual Studio.
E' disponibile in versione gratuita (Visual Studio Express), ma leggiti 
la pagina su wikipedia per alcune limitazioni su x64:
http://en.wikipedia.org/wiki/Visual_Studio_Express
Ciao  Manlio

 Infine c'è Visual Studio.
Grazie.
Newsgroup: it.comp.lang.c++
Titolo: PARENTESI OBBLIGATORIE

OSSERVATE QUESTE 2 RIGHE
cout<< (0 ^ 0);
cout<< 0 ^ 0;
la riga 1 č OK.
quando compila la riga 2, mi da questo errore:
illegal structure operation.
xchč le () sono obbligatorie???
rispondetemi sul newsgroup



 xchè le () sono obbligatorie???
Perché l'operatore << ha precedenza maggiore di ^ e quindi senza
parentesi equivarrebbe a
( cout << 0 ) ^ 0;
che sarebbe a dire che tenti di fare l'OR di un oggetto ostream con un
numero.
EMG

 rispondetemi sul newsgroup
Penso perche' anche  <<  e' un Operatore Binario e, il compilatore, deve
sapere in che modo deve interpretare la stringa.
Ad esempio:
 int iBitPattern = 0X2a; // 42
 cout <<"\nIl Pattern ha valore: " <<iBitPattern <<endl;
 cout <<"Pattern << 4: " <<(iBitPattern << 4) << endl;
Se nella terza riga non avessi messo "iBitPattern << 4" tra parentesi,
la stringa sarebbe stata interpretata in maniera errata; in pratica, e'
sempre opportuno mettere tra parentesi le espressioni per assicurarsi
che il compilatore interpreti correttamente tali espressioni.
Ciao, U D A.
-- 
<><><><><><><><><><><><><><><><><><><><><><><><
UDA'Software
mailto:
u...@freemail.it
mailto:
uda.so...@iol.it
http://www.GeoCities.com/SiliconValley/Bay/2165

 xchè le () sono obbligatorie???
Perché non puoi fare lo xor di un ostream!
La seconda riga viene interpretata cosi:
(cout<<0)^0
perché << ha precedenza su ^, e cout<<0 ritorna un ostream (cout stesso).

 xchè le () sono obbligatorie???
`<<' ha una priorita' maggiore di `^', quindi il secondo caso e'
equivalente (credo) a
 
  operator^(operator<<(cout, 0), 0)
Il risultato di operator<<(cout, 0) e' sempre cout e non credo tu
abbia definito operator^ per un oggetto di tipo ostream, da qui
l'errore di compilazione.
Ciao,
-- 
Diego Dainese
-> Per le repliche elimina dal mio indirizzo le cifre e le `x'.

Forse perche' per il tuo compilatore (che non dici quale e'), l'operatore di
redirezione (<<) ha la precedenza su quello di elevamento ^, quindi lui
tenta di fare un bel cout <<0 e poi di elevareil tutto a 0.
Davide
--
Posted from 
ns.imq.it
 [192.106.191.225]
via Mailgate.ORG Server - 
http://www.mailgate.org
Newsgroup: it.comp.lang.c++
Titolo: "helloworld.cpp"

Salve a tutti!
Quando lancio l'exe la finestra "Welcome to C++" scompare subito e nn da'
modo di visualizzare la scritta, a differenza di quanto avviene in C.
Come posso risolvere questo problema?
#include <iostream>
int main(void)
{
std::cout << "Welcome to C++!\n";
return 0;
}
Altra domanda:
i due programmi sono praticamente uguali ed eseguono le stesse funzioni,
potreste
spiegarmi come mai l'exe del file scritto in C occupa circa una decina di Kb
(8,47), mentre
quello scritto in C++ è molto più pesante (circa 109 Kb)?
#include <stdio.h>
void main (void)
{
printf ("Benvenuti nel mondo del C!!!\n");
}
Grazie 1000
davide

 ha scritto nel messaggio
news:66sh9.3210$Hc7....@twister1.libero.it...


 Utilizza la funzione getch o getchar
... eeeeehhhhh ?????????????

 ... eeeeehhhhh ?????????????
Ah ho capito, nel senso di metterla alla fine per non far scomparire subito
la finestra! Eh ma se glielo dici così come fa a capirlo ?? Cià.

 Grazie 1000
Prego :)
--
Lupin85© - Filser #2
Founder di #fils [
azzurranet.org
]
"It is not important what you believe, only that you believe."

Newsgroup: it.comp.lang.c++
Titolo: [forse OT] borland c++ 3.0 standard

ho cominciato a usare borland c++ builder 3.0 (standard),
trovato in una rivista, e vorrei sapere se mi occorre qualche licenza
per produrre software con questo oppure la versione 3.0 standard non
ha questo problema ?
scusate tanto per il probabile OT ma sul sito della borland
non ho trovato una risposta
d.

 wrote:
Sulla stessa rivista dovrebbe esserne spiegato l'uso.
Newsgroup: it.comp.lang.c++
Titolo: che significa OT ?

OT ?

 
OT = off topic
ovvero "Che sei fuori argomento/i trattato/i nel NG"
NG = News Group.
Ciao
Gaetano.
-- 
Posted from 
dell-01.mm.eutelsat.org
 [194.214.173.17] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

Newsgroup: it.comp.lang.c++
Titolo: Documentazione su OOP scusate se OT

Salve a tutti e scusate se il messagi è OT ma non sapevo dove rivolgermi.
Sto cercando disperatamente documentazione sulla programmazione orientata
agli oggetti in generala, possibilmente in italiano ma non necessariamente.
Ringrazio anticipatamente
Lord Ryder
ry...@libero.it

...

Ci sono molte cosette in giro.
Se non hai già letto questi due testi, facci un pensierino:
"Object Oriented Design"
Coad, Yourdon - Yourdon Press Computing
"Pitfalls of Object Oriented Development"
Bruce F. Webster - M&T Books
Inoltre c'è un mucchio di materieale che tratta di OOP rivolta ad uno specifico
linguaggio, come ad esempio:
"Advanced C++ Programming Style and Idioms"
Cope J. Coplien - Addison Wesley
Andrea
Andrea

agli oggetti in generala, possibilmente in italiano ma non necessariamente.
Ho messo da parte qualche links che forse ti puo` tornare utile :
http://axaonl.cern.ch:8000/a_doc$www/ONLINE/OBJECT_ORIENTED_PAPERS.HTML
http://www.kinetica.com/ootips/
http://www.igd.fhg.de/~holzapfe/old/papers_se/oop/index.html
http://g.oswego.edu/dl/oosd/
http://uu-gna.mit.edu:8001/uu-gna/text/cc/Tutorial/tutorial.html
-- 
Ing. Roberto Gerola
Email: 
robert...@penguinpowered.com
WWW: 
http://www.penguinpowered.com/~The_Cpp_Compass
Newsgroup: it.comp.lang.c++
Titolo: socket e errore linking

Non ho molta dimestichezza col VC++6 e in un programmino che utlizza un
socket per connettersi al server di posta e inviare una mail mi da
quest'errore in fase di linking:
laposta2.obj : error LNK2001: unresolved external symbol _send@16
l'errore si ripete per tutte le funzioni utilizzate dal socket come connect
ecc.
Questo sono gli header che includo:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <dos.h>
#include <conio.h>
#include <windows.h>
#include <winsock.h>
Non capisco dov'è che sbaglio...
-------------------------------------------------
...
WSAData ws;
SOCKET s;
struct sockaddr_in sock;
int d,n,m;
long gg;
char stringa[4096], stringhina[3];
char *leggi;
void main()
{
 gg=WSAStartup(0x0101,&ws);
 printf("Attivo il supporto winsock -> id=%ld\n",gg);
 // apertura del socket
 s = socket(AF_INET,SOCK_STREAM,0);
 printf("Apro il socket n.%ld\n",s);
 // dichiarazione della porta e dell'host a cui connettersi
 sock.sin_family = AF_INET;
 sock.sin_port = htons(25);
 strcpy(leggi,"194.235.161.1"); // 
mail.amadeus.it
 sock.sin_addr.s_addr = inet_addr(leggi);
d=connect(s,(struct sockaddr *)&sock,sizeof(sock));
 printf("Sono connesso -> id=%ld\n",d);
 //invio msg
 stringhina[0]=0x0d;stringhina[1]=0x0a; //ENTER
 strcpy(stringa, "HELO sono-io");
 send(s,stringa,strlen(stringa),0);
 send(s,stringhina,2,0);
 recv(s,stringa,4096,0);
 printf("%s\n",stringa);
....
---------------------------------------------------------

 laposta2.obj : error LNK2001: unresolved external symbol _send@16
 
http://cassandra.comm2000.it/~maxim/pub/lnk/win32_unresolved_send.lnk
Max


Ciao,
intanto ti consiglio di usare le winsock2.h (al posto della winsock.h), ed
inoltre non basta mettere gli include nel codice, purtroppo VC++ vuole anche
il link alla libreria del winsock, la libreria č la WS2_32.lib, per
aggiungere il link segui questi passi vai in:
project----settings---link e nel text dove c'č scritto Object/library
modules aggiungi WS2_32.lib
Penso che cosi tu possa risolvere il tuo problema.
Ciao
Vinsanto

Grazie  a tutti, ho risolto il problema linkando la libreria wsock32.lib.
God Damn Redmond.

Newsgroup: it.comp.lang.c++
Titolo: Creare una DLL simil-API

Ho scritto delle funzioni in VC++ e vorrei raccoglierle in una DLL per
usarle, ad esempio, in VB con Declare ecc. ecc., come se appartenessero
all'API di Win32.
Si può fare? Esistono altre soluzioni?
Grazie!

 wrote in message
8d756l$606$1...@fe1.cs.interbusiness.it...

Si`, e si`, ma ti consiglio di chiedere su it.comp.programmare.win32,
gruppo specifico per la piattaforma di tuo interesse, non su questo
gruppo dedito al C++ standard.
Alex
Newsgroup: it.comp.lang.c++
Titolo: aiuto sui file

ciao a tutti sono uno studente di 4^a informatica e sono un appassionato di
c++
che differenza c'è per un file dichiarare ad esempio FILE F e FSTREAM f?
qual è la migliore soluzione?


Al massimo, "FILE *f" e "std::fstream f". Cmq, il primo e' ereditato dal 
C, il secondo e' specifico del C++. Se lavori col secondo, usa gli fstream.
-- 
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

Newsgroup: it.comp.lang.c++
Titolo: [HELP] GNU C++ compilatore

Salve NG,
dove posso trovare il GNU C++ compilatore
per dos????
grazie
Tommaso Caldarola     mailto:
t.cal...@cresb.it

per dos????
Lo puoi trovare su SimtelNet ma ti consiglio di usare lo Zip-Picker
sul sito 
www.delorie.com
 sotto la voce DJGPP
Ciao
RSte
rste79...@hotmail.com

 per dos????
Trovi il DJGPP all'indirizzo 
http://www.delorie.com/djgpp
.
Questo mi fa riflettere su una cosa: se stiliamo una FAQ e poi non
troviamo il modo di pubblicizzarla adeguatamente, in particolare per i
nuovi arrivati, avremo fatto un lavoro pressoché inutile.
EMG

nuovi arrivati, avremo fatto un lavoro pressoché inutile.
Conosco la sensazione. ;-) Tuttavia, il vantaggio e' che a un sacco di risposte 
puoi semplicemente indicare l'URL della FAQ - risparmiando tempo e fatica.
-- 
God is Real, unless declared Integer.
ObjectZone - 
http://space.tin.it/computer/csadun/
Newsgroup: it.comp.lang.c++
Titolo: Inizializzazione std::vector

Ciao a tutti,
Espongo subito il problema, e vi ringrazio in anticipo. :)
Vorrei una classe che contenga uno std::vector costante, fatta cosi':
	class Pizza {
	private:
		const std::vector<int> v;
	public:
	//	Pizza() : v({1, 2, 54}) {}
	/*	Pizza()
		{
			v.push_back(1);
			v.push_back(2);
			v.push_back(54);
		}
	*/
	};
Il problema e' l'inizializzazione.
Ora, i due ctor commentati, come sospettavo, non compilano. Il primo
per evidenti ragioni sintattiche, il secondo per const-correctness.
Proviamo a renderlo static, cosa che peraltro modella bene quello che
voglio.
La linea
	const std::vector<int> Pizza::v = {1,2,54};
non compila. L'errore che ottengo (VC++) e':
	'private: static class std::vector<int,class
std::allocator<int> > const  Pizza::v' : non-aggregates cannot be
initialized with initializer list
Non mi aspettavo un risultato molto migliore, a essere sincero.
Allora proviamo cosi': dichiaro una costante, facciamo pure globale
	const int ia[3] = {1,3,5};
e poi faccio
	const std::vector<int> Pizza::v = std::vector<int>(ia, ia+3);
Problemi:
1) Esiste un modo migliore, che non duplichi memoria e che non perda
tempo a copiare (2 volte, vero?) i dati?
2) Come trascino l'array all'interno della classe? Ovviamente non
posso farlo cosi' com'e'. Se lo faccio diventare static anche lui, il
C++ non garantisce che il vettore sia inizializzato dopo l'array...
Grazie mille.
Ciao, Giulio
Please strip ".removeMe" to reply by email

C++ non garantisce che il vettore sia inizializzato dopo l'array...
In teoria sono daccordo con te, in pratica no. L'array ia[] viene
inizializzato a tempo di compilazione/link ( eventualmente dinamico ).
il ctor di vector viene chiamato invece all'inizio del run ( che e'
ovviamente dopo la compilazione/link )

 C++ non garantisce che il vettore sia inizializzato dopo l'array...
Puoi "trascinare" tutti e due. La sola alternativa che vedo e' che
incapsuli il tuo vettore in una classe e poi dichiari un membro statico
costante di questa classe, ad es.:
struct InitMyVect {
  InitMyVect() { v.push_back(1); v.push_back(3); v.push_back(5); }
  std::vector<int> v;
};
Tra parentesi, mi sa che il mio costruttore occupa piu' spazio del tuo
array, quindi vedi un po' tu.
Ciao,
Nicola

Newsgroup: it.comp.lang.c++
Titolo: STL... e' gia' stato detto :-(

qualcuno sarebbe cosi' gentile da postarmi l'URL del sito della M$ da cui
scaricare la documentazione sullo STL??
Ho sentito dire che e' gia' stato segnalato... purtroppo non riesco a reperire
il messaggio (va bene anche il thread in cui se ne e' parlato) :-)
ciao!
-- 
"10. Non dare mai ordini per iscritto", dal decalogo di Spark per il giovane
manager
-- 
Emanuele Cesena
d.a.m...@iol.it
    occhio all'antispam NOSPAM!
http://www.geocities.com/SiliconValley/Grid/8879

scaricare la documentazione sullo STL??
http://msdn.microsoft.com/visualc/stl/download.htm
Alex

Un bel di' Alex Martelli scrisse:
AM> 
AM> 
http://msdn.microsoft.com/visualc/stl/download.htm
AM> 
Grazie mille!! :-)
-- 
"Esistono solo errori", assioma di Robert
"L'errore di un uomo e' la certezza di un altro uomo", corollario di Berman

Newsgroup: it.comp.lang.c++
Titolo: return array ???

come si può tramite una funzione rilasciare un vettore intero?
e di che tipo dovrà essere la funzione?

 wrote in message
388C7F53...@freemail.it...


 e di che tipo dovrà essere la funzione?
Intendevi dire "restituire" non "rilasciare", giusto? Direttamente non
si può. Potresti passare alla funzione un puntatore, allocare per esso
memoria all'interno della funzione stessa e restituirlo. Oppure potresti
mettere l'array in una struct e passare la struct. Oppure, soluzione
migliore fra tutte, utilizzare il tipo std::vector.
EMG

e di che tipo dovrà essere la funzione?
In C/C++ non e` possibile passare direttamente un array (C)
da e verso una funzione.
Due possibili soluzioni:
a) passare alla funzione l'indirizzo dell'array destinazione:
void MyFunc(int* Dest);
questo metodo pero` implica che al momento della chiamata
sia nota la dimensione massima del vettore, altrimenti deve essere
la funzione ad allocare il vettore nello heap e a restituirne poi 
l'indirizzo. Ma e` una pratica sconsigliata.
b) Una soluzione di gran lunga migliore in C++ e` quella di utilizzare
il template std::vector<>. La funzione riceve come parametro un 
riferimento ad una istanza di std::vector<> e memorizza in questa
i valori che deve restituire:
void MyFunc(std::vector<int>& array);
Paolo
-----------------------------------------------
  Paolo Marotta
  Computer Science, University of Pisa
  home:   
http://www.cli.di.unipi.it/~marotta
-----------------------------------------------

void MyFunc(std::vector<int>& array);
Si, cosi pero poi devi , dentro la funzione, fare un resize del
vettore no?
-----------------------------------------
La vita e' l'opera di un regista mediocre
e di un cattivo sceneggiatore

 e di che tipo dovrà essere la funzione?
Ad esempio:
#include <vector>
std::vector<int> tornaVettore(int quanti, int quali)
{
    return std::vector<int>(quanti, quali);
}
Alex

vettore no?
Perche`? Basta passare un vettore vuoto, tanto se necessario
si ridimensiona da solo.

Newsgroup: it.comp.lang.c++
Titolo: try... catch

Non mi viene catturata l'eccezione nel seguente codice (mi appare a
video quella del Builder):
int a;
try
  { a=IntToStr(Stringa) }
catch
  { a=0; }
Premetto che l'ultima volta che ho provato il codice interessato
funzionava correttamente ma il progetto era del Builder4 (adesso ho il
Builder5).
Qualcuno puo' aiutarmi?
Saluti, Alex.T

Qualcuno puo' aiutarmi?
Sarebbe bene intercettare l'EConvertError
--
Andrea Laforgia (ICQ 87230455)

   { a=0; }
devi specificare quale eccezione stai gestendo.
Per catturare tutte le eccezioni devi fare:
  catch(...)
Manlio Perillo

BCB 4 aveva poi un baco per il quale con "catch (...)" non venivano
intercettate le eccezioni native (ovvero quelle basate sulla libreria
VCL); se fosse ancora cosi' dovresti usare "catch (Exception &)"
Ciao,
Nicola

Ho provato anche con i 3 punti ma non mi cattura l'eccezione in nessun caso !!!
Adesso ricontrollo tutto il software (aime') perche' non vorrei che fosse derivato da qualche
out of range su array vari.
Qualsiasi ulteriore suggerimento e' bene accetto.


 ha scritto nel messaggio
news:39B74559...@tin.it...


in tutti i modi ma non va.
Ho notato soltanto adesso che nel tuo codice scrivi IntToStr, quando
dovrebbe essere StrToInt.
Il seguente codice funziona perfettamente sulla mia macchina (NT 4.0 +
CBuilder 5) :
void __fastcall TForm1::Button1Click(TObject *Sender)
{
     String A = "ciao" ;
     try
     {
         int I = StrToInt( A ) ;
     }
     catch( const EConvertError& e )
     {
          ShowMessage( "Errore di conversione:\n"+
                       e.Message ) ;
     }
}
--
-- Andrea Laforgia (UIN 87230455) ------------------------
Non scrivetemi in privato, se non richiesto espressamente.
No replies in private e-mail, unless explicitly requested.
----------------------------------------------------------

 ha scritto nel messaggio
news:79jkrs07k5lq7u79o...@4ax.com...


scritto da me, come mai?
Perche', per default, il compilatore intercetta per primo le eccezioni
quando sei in debug. 


In effetti ho scoperto che e' il debugger ad interrompere l'esecuzione ad ogni
eccezione: si deve disattivare nelle Opzioni Debugger i flag "Stop on Delphi
exception" e "Stop on C++ exception" (o simili).
Ho perso solo una giornata per capirlo (sgrunt!).
Saluti, Alex.T

Newsgroup: it.comp.lang.c++
Titolo: Dove posso trovare un COMPILATORE e un EDITOR per C++ giusto per iniziare?

Mi serve un Editor e un Compilatore per Windows per C++ che non sia un
pacchetto di decine di mega e magari freeware.
fo...@altavista.net

si puo trovare un compilatore e un editor gratuito sul sito
www.programmare.it
dove io ho trovato questo newsgroup
ciao
Foice ha scritto nel messaggio ...


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

Scusate, ma poiché sono un neofita mi sapreste consigliare un buon testo per
studiare il c++ ?
E poichè posseggo visual studio (con visual c++), vorrei chiedervi è meglio
visual c++ o borland c++ ?

visual c++ o borland c++ ?
VC++ è più usato e dato che ce l'hai già non vedo perchè non
usarlo :)
--
Lawrence Oluyede
rhy...@myself.com
Newsgroup: it.comp.lang.c++
Titolo: Quanto costa Visual Studio 6?

Ho chiesto in tutti i negozi della città: su 10, 8 non ne hanno mai sentito
parlare (e ci credo, più che gamepad e robaccia masterizzata cosa devono
vendere ad Agrigento?), uno spara 4.000.000, l'altro 300.000 (le cifre si
riferiscono alla versione Professional, ma mi interessano tutte quelle che
ci sono). Voi che dite?
In attesa di risposta...
E.G. er Cicca
er_c...@usa.net
Art. 1: L'Italia è una repubblica progettata per Windows 95.

 ci sono). Voi che dite?
Il Visual C++ 6.0 Standard (non tutto il VS) 246K.
Per quanto riguarda la altre versioni purtroppo non ricordo.
Ciao.
-- 
     (ZZZ)       Filippo Salotti, Bagni di Lucca, Lucca, Italy.
    //   \\  _                 E-mail : 
fil...@humnet.unipi.it
   /Y\    ZD<_o===============================================o
 .oZZZZZo.     | Studente Ingegneria Informatica Automatica  |
<OXXXXXXXO>    | Dip. Sistemi Elettrici Universita' di Pisa. |


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

Ho il compilatore c++ della Borland coll'help inglese. Non ci piglio!
Qualcuno sa dirmi dove e se trovo una versione italiana?
Domanda operativa banale, ma essendo sul C da due giorni spero di essere
perdonato: come faccio a creare un file di istallazione per rendere
eseguibili i programmi su altre macchine? In una parola, si tratta
ovviamente di questo: io compilo il programma ma quando lo faccio girare su
una macchina che non contiene il borland non funziona perché mancano file
(le librerie). Allora ho pensato di fare una istallazione che mi incorpori
le librerie e le copi, successivamente, sulla macchina in cui intendo far
girare il programma.
Simone Bogi


Saluti
Rosario Ianuale

 ha scritto nel messaggio
news:9Dml9.24414$e31.5...@twister2.libero.it...


 Grazie
Complimenti, non ho mai visto nessuno quotare come te.
-- 
C Ya!
/* Cut "DO NOT DISTURB" to reply */
Newsgroup: it.comp.lang.c++
Titolo: Alcune domande


Sono assolutamente d'accordo.. quindi di solito dico "pi-ci" e
"ci piu' piu'" - e domandavo perche' fosse cosi' orribile. ;-)
CS
--
dr. Cristiano Sadun
Software Engineering and Consulting
"God is Real - unless declared Integer"

 hanno chiamato un linguaggio proprio C?!?!?
eccoti una semi-telenovela :abiante: Bell-Labs
riassunto puntate precedenti : il sistema MULTICS e` stato un fiasco,
ma uno dei ricercatori (Thompson) decide di riscriverne una versione
limitata per il suo PDP-7.
"il lavoro di T. impressiono` a tal punto i colleghi che fu contattato da
Dennis Ritchie e piu` tardi da tutto il dipartimento. UNIX fu tolto
dall'inutile PDP-7 e portato su un computer + moderno, il PDP-11/20
e altre versioni + potenti che erano dotati di protezione HW della
memoria. il secondo sviluppo riguardo` il linguaggio in cui era scritto
UNIX : per evitare di riscrivere tutto per ogni macchina venne
scelto il linguaggio progettato da T. chiamato B, una versione
semplificata di BCPL (il quale era una semplificazione di CPL,
che come il PL/1 [quello usato per MULTICS] non funziono`
mai bene). Questo tentativo non ebbe successo, per la mancanza
di strutture del linguaggio. Allora Ritchie progetto` il successore
di B che ovviamente chiamo` C (ma chissa` quanto ci avra`
pensato :) ."
e vissero tutti felici e contenti ...

ci piu' piu' va benissimo, cosa ha di cosě orrendo???


Bho! Forse perchč sono abituato al si plas plas e mi suona male, comunque
la pronuncia e solo una cosa formale!!
Ciao!!
Demetrio Filocamo (
demfi...@geocities.com
)
Home Page: 
http://www.geocities.com/Area51/Zone/2354
2° URL: 
http://demetrio.home.ml.org
3° URL: 
http://dfilocamo.home.ml.org
--==-- Non credere a chi ridendo ti dice TI AMO --==--
--==--      Ma a chi piangendo ti dice AMAMI      --==--

Newsgroup: it.comp.lang.c++
Titolo: Richiamare una funzione della classe base

Supponiamo che ho una classe e una funzione in questa classe
class TBase {
public:
	void Funzione(int Argomento);
}
e la sua derivata
class TDerivata {
public:
	void Funzione(int Argomento);
}
in questo caso la Funzione della classe TDerivata fa sě che se io
chiamo Funzione su un'istanza di TDerivata viene chiamata la funzione
di TDerivata; se perň io volessi, ALL'INTERNO di Funzione di TDerivata
richiamare Funzione di TBase?
qualcosa del tipo
void TDerivata::Funzione(int Argomento)
{
	TBase::Funzione(int Argomento);
	// faccio qualcosa in piů rispetto alla funzione di TBase
}
MadMage
P.S.: quanto mi piace 'sto ng

 }
Puoi fare esattamente come hai scritto.
EMG

 // faccio qualcosa in più rispetto alla funzione di TBase



Ti sei risposto da solo.
Solo che devi fare:
  TBase::Funzione(Argomento);
Manlio Perillo

Sě, grazie a tutti... dovevo aver troppo sonno quando ho scritto quel
post, se lo davo in pasto al mio C++Builder mi mandava a quel paese!
:-DDD
Newsgroup: it.comp.lang.c++
Titolo: Compilatori free

Mi consigliate qualche compilatore c++ (con tutte le specifiche ANSI) per
linux e, udite udite, w98????
--
| /
| \Byte - Andrea Briganti
E-Mail 
kbyt...@freemail.it
ICQ 40872731


DJGPP compilatore gratuito per varie piattaforme:
www.delorie.com
Ciao,
Gianfranco

 
www.delorie.com
Per quello che ne so io il DJGPP è solo per DOS.
EMG

...

azz!
Hai ragione...
E' che smanettando con gcc sotto Linux e djgpp sotto Dos ho fatto un po' di
casino...
Chiedo venia.
Ciao,
Gianfranco

 casino...
Dove lo trovo il gcc???


Dove lo trovo il gcc???
Sotto Win9x consiglio MingW32 che ha librerie per windows. è sempre
una versione GNU di gcc.
il_t@sso
il_t...@freemail.it

E come trovo MingWIN32, da bravo ragazzo di 13 anni principiante?
Diego Pettenň
Newsgroup: it.comp.lang.c++
Titolo: Vi prego!!!!!!!!!!!!!!!!!!!!!!!

Chiunque s'intenda di programmazione in C e soprattutto possiede estreme
conoscenze dei B-alberi e delle loro varianti, mi risponda.
Devo fare un programma che accetti in ingresso un file, lo divida in campi,
ad ognuno assegni un indice.........Insomma devo creare un dizionario con le
proprie liste usando i B-alberi, ma non so come fare.



Ti consiglio di dare una occhiata a "Basi di dati strutture e algoritmi" di A. Albano
Addison Wesley Masson
C'e` una parte in cui si parla del B-alberi
Paolo
-----------------------------------------------------------------
  Paolo Marotta
  Computer Science, University of Pisa
  home:   
http://www.cli.di.unipi.it/~marotta
-----------------------------------------------------------------

 proprie liste usando i B-alberi, ma non so come fare.
"Algorithms + Data Structures = Programs" Niklaus Wirth
Un classico che tratta ampiamente i B-alberi.
Esiste anche la traduzione in italiano!
Ciao
	Alessandro

Newsgroup: it.comp.lang.c++
Titolo: get, set e puntatori

Mi sono trovato a scrivere cose di questo tipo
class B{...};
class A
{
	public:
	B *get(){ return x;}
	void set(B *p){x=p;}
 
	private:
	B *x;
}
ha senso scrivere get e set per un puntatore privato?
potrei rendere pubblico il puntatore e ottenere lo stesso risultato...
qual'è l'approccio più corretto o più "stiloso"?
ciao!
--
Diego Chiodini

 qual'č l'approccio piů corretto o piů "stiloso"?
Una classe dovrebbe fornire servizi e non consentire l'accesso ai dettagli 
implementativi.
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
The EMG Music page:         
http://www.emagsoftware.it/emgmusic
Newsgroup: it.comp.lang.c++
Titolo: (FORSE OT) OPENGL

Ciao ragazzi,
mi e' saltato un grillo per la testa:
fare un giochino di tipo arcade ( un piccolo sparatutto con mirino e
cattivi...)
Che librerie grafiche mi consigliate??
Ho sentito di OpenGL ma io voglio fare una cosetta in 2d vanno bene
per me??
Mi interfaccio con C o C++ o che ??
Ah gia' sono gratis ???
E' vero che per usarle devo pero' appoggiarmi ad altre librerie per la
finestra contenente il tutto???
Hanno un qualche supporto per il Multithread e per la gestione mouse e
tastiera???
Non so un c.... aiuto!!!  :-)   
Scusate l'OT

 cattivi...)
Posta questo messaggio su it.comp.giochi.sviluppo, e' il NG piu' adatto.
-- 
- Dado : Extreme Snowboarder
*-> I believe I can fly, I believe I can touch the sky <-*

Newsgroup: it.comp.lang.c++
Titolo: problema dichiarare string

Ho installato Linux Red Hat ma in g++ non riesco a dichiarare oggetti
string, nonstante usi la direttiva #include <string>. Su dev c++ windows non
ho problemi. Qualkuno puņ aiutarmi?

 wrote

Posta un esempio di codice minimo.....
usi la direttiva: using namespace std; dopo gli #include?
se non la usi usi std:: ?
Tommy

 windows non ho problemi. Qualkuno può aiutarmi?
#include <string>
#include <iostream>
int main()
{
        std::string str("stringa di prova");
        std::cout << str << std::endl;
}
Questo mi compila con il
g++ 2.95.4
g++ 3.1.1
g++ 3.2.1
A te lo compila?
Con che versione (g++ --version)?
Non è che ti sei dimenticato tutti gli identificativi di namespace
(in pratica tutti gli std:: ) ?
--
Gerolamo

 wrote in message
news:b0f08h$mgb$1...@lacerta.tiscalinet.it...

Il fatto che tu ci riesca nel DevC++ non vuol dire che sia la cosa giusta.
DevC++ che hai scaricato sta usando ancora un compilatore che per i
namespaces non e' standard.
Non basta fare l'inclusione di <string> per poter usare string nudo e crudo,
stesso discorso per cout, vector, list, map ecc..
Siccome string fa parte del namespace std, ogni volta che lo nomini devi
fare std::string.
Vai a rivedere la teoria dei namespace.
Maurus

Newsgroup: it.comp.lang.c++
Titolo: tutorial vc++

Salve ragazzi, qualcuno puo' consigliarmi un tutorial on line in italiano di
vc++ ( possibilmente abbastanza avanzato).
Grazie.

 wrote in message
news:pYHU9.2275$YG2....@twister1.libero.it...

Qui sei OT, perche' si parla di C++ standard, per cui le prossime domande
sul VisualC++ e' meglio farle dove ti si risponde meglio ovvero su
it.comp.programmare.win32.
Comunque ho questo link che non so fino a che punto sia avanzato:
http://www.free-ed.net/fr03/lfc/030203/122/
Maurus

Grazie.
Newsgroup: it.comp.lang.c++
Titolo: Il colore dello sfondo - Aiuto!

Ciao
 sto sviluppado un programma SDI con VC++ 5.0.
Di default lo sfondo della finestra principale è bianco (CView) mentre io
vorrei ottenerlo nero.
Come faccio?
In un normale programma Win32 imposterei WNDCLASS.hbrBackground con un brush
nero (all'interno di WinMain()) e quindi registrerei la classe sopra
descritta con RegisterClass() per poi passare il nome della nuova classe
alla CreteWindow().
In un programma creato da AppWizard non so dove mettere le mani.
Esiste forse un altro metodo?
E' possibile intervenire sulla registrazione della WNDCLASS fatta
automaticamente dal FrameWork?
Grazie
Ambrogio

Basta che nella funzione virtuale PreCreateWindow( CREATESTRUCT& cs ) fai una
cosa del genere:
BOOL CMyView::PreCreateWindow(CREATESTRUCT& cs)
{
   cs.lpszClass = AfxRegisterWndClass(  // Guarda l'Help per i parametri da
passargli
    // Chiama la funzione della classe base
   return CView::PreCreateWindow(cs);
}
Ciao, Antonio.
P.S.: Ricordatevi di votare per 
it.com.programmare.it


Newsgroup: it.comp.lang.c++
Titolo: Valori di ritorno (domanda da niubbo)

Ciao,
	come mio primo messaggio in questo newsgroup, ho deciso di esordire con
una domanda da vero niubbo :)
Supponiamo che io abbia una funzione che mi ritorna una stringa:
string f(void) {
	string s = "pippo";
	return s;
}
e supponiamo che nel mio main faccia una cosa del genere:
int main (void) {
	string nome;
	nome = f();
	return (0);
}
Mi chiedo se quello che sto facendo e' lecito:
"s" viene creata sullo stack, per cui all'uscita della funzione "f" non e'
bene accedere a quell'area di memoria.
Ma io penso che l'assegnamento copia di fatto la stringa s nella stringa
nome. Per cui ora nome e' identico ad s, ma di fatto sta in un'altra area
di memoria, quindi non ho fatto casino.
Ho ragionato giusto? Sono parecchio confuso a riguardo...
In pratica e' l'uguale che non ho capito cosa significa e se sia una cosa
lecita.
Mi sapreste indicare qualche link (magari chiaro e conciso) che mi
chiarisca la cosa?
Bye e Grazie
P.S. Il codice l'ho scritto al volo per cui ci saranno magari errori
ortografici...
 

 Mi chiedo se quello che sto facendo e' lecito:
Sì, dato che stai restituendo la stringa s per valore (quindi una copia).
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
The EMG Music page:         
http://www.emagsoftware.it/emgmusic
Newsgroup: it.comp.lang.c++
Titolo: Vespaio (era "Il c++ è impazzito")

Non volevo creare tutto questo vespaio, e che Scaccomatto aveva
bisogno di ciò che io gli ho dato (anche se io non avrei fatto come
lui voleva ma avrei di certo utilizzato gli stream).
Noi comunque lavoriamo molto su grossi file binari, e programmando con
VC++ usiamo spesso la classe MFC CFile, che che se ne dica è comoda (e
veloce da programmare).
L'importante è sempre avere la padronanza di tutti i metodi con cui un
problema può essere risolto, in modo da poter scegliere quella più
opportuna o cambiare quando ciò è necessario.
Ciao e scusate!
8-)
Luc.

 Ciao e scusate!
Per carita`, ogni tanto anche di 'ste cose bisogna pur dibattere!
Alex

Newsgroup: it.comp.lang.c++
Titolo: Aiutate un brocco!

Avrei la necessita con c++ Builder di creare una directory.
Il nome di questa directory deriva per esempio da : Edit1->Text
Vorrei fare tipo:
mkdir(Edit1->Text);
Chiaramente non funziona!! Type mismatch!
Come Faccio?
Grazie

 wrote in message 380e2ab6...@news.tin.it...

Newsgroup: it.comp.lang.c++
Titolo: Newbye: che differenza c'è (std::)?

#include <iostream>
int main()
{
    std::cout << "Ciao Sauron" << std:endl;
}
e
#include <iostream>
int main()
{
    cout << "Ciao Sauron" << endl;
}
In particolare vorrei capire il significato del prefisso std::
In effetti a scuola mi hanno spiegato l'uso di cin e cout, mi hanno spiegato
qualcosa sugli strem di input e output, ma in tutti gli esempi viene usata
la seconda sintassi mentre voi, assidui cultori dello standard seguite
sempre la prima.
Immagino dipenda da una questione di standard ma non ho capito a cosa serva.

 wrote in message
news:HLrJ7.112293$sq5.5...@news.infostrada.it...


sempre la prima.
Quella senza std non dovrebbe compilare a meno che non ci sia uno
"using namespace std".
Guarda sul tutorial di Paolo Marotta su 
cpp.programmazione.it
dovrebbero esserci spiegati i namespace.
-- 
Marco Barisione (ICQ 84277092)

 In particolare vorrei capire il significato del prefisso std::
spero di essermi spiegato.
ciao!
--
Gerolamo
Using: Win2000 Pro, Borland C++ Compiler 5.5.1
Listening: Negrita - Ma come fanno

 using namespoace std; )
E se aggiunge #include <stdio.h>??
Va bene lo stesso?
Grazie

Va bene lo stesso?
Non dovresti includerlo (è l'header per il C) ma includere <cstdio>.


using namespoace std; )
il fatto che il mio compilatore me la compili allora significa che non
segue lo standard?
(gcc 2.95.2)
-- 
Davide Cavallari

 (gcc 2.95.2)
Sě. La versione piů recente del GCC non compila quel codice.
Max

 Grazie
prego!
--
Gerolamo

 Va bene lo stesso?
si va bene ma e' un uso deprecato. Dovresti utilizzare l'header 
<cstdio> che dichiara i nomi nel namespace std.
Su 
cpp.programmazione.it
 c'e' il primo articolo di "Una panoramica 
sulla libreria standard" che spiega proprio questi concetti.
ciao Anto
-- 
Antonio Cuni, 19 anni, studente
Brainbench C++ Master: 4.6, higher than 98% of all previous test takers.
C Language: 3.32, higher than 79% of all previous test takers.
Guida C/C++ di Programmazione.it: 
http://cpp.programmazione.it

 sulla libreria standard" che spiega proprio questi concetti.
Ragazzi, (Antonio e gli altri) l'OP sta usando gli stream C++
(<iostream>). Se include <stdio.h> o <cstdio> non cambia proprio nulla!
Ciao,
Nicola

 nulla!
si, in effetti io mi ero limitato a rispondere all'ultimo messaggio di 
Giuseppe senza andare a rivedere il codice originale; ero convinto che 
volesse sapere la differenza tra stdio.h e cstdio... sorry!


Newsgroup: it.comp.lang.c++
Titolo: OT-Multimedia timer in VC++

ciao a tutti, e scusate l'OT.
In una "Console Application", per avere i cosiddetti Multimedia Timer,
sembra non essere sufficiente includere
#include <MMSystem.h>
poiche' la compilazione da' strani problemi.
Mettendo anche (prima dell'altro)
#include <afxwin.h>
tutto va a posto.
Avete idea del perche'?
grazie
--
Tiberio Grasso

ovviamente Windows NT & VC++