mii-community/UsenetArchiveIT-conversations huggingface dataset:
Newsgroup: it.comp.lang.c++
Titolo: due template, due classi

Per far un favore ad una amica (chissa' perche', si finisce sempre col
dire "si" alle amiche ;-) ) mi trovo a dover fare un programmino
semplice semplice (implementazione dell'algoritmo di Strassen...), ma
in C++, linguaggio da me mai visto e mai conosciuto...
Venendo al sodo: devo fare riferimento ad una interfaccia, o quantomeno
ad un accrocchio di files .h e .cpp cui riferirmi (e su cui non posso
dunque metter mano: troppo facile ;-) ), e mi son trovato in questa
condizione:
template <class T>
class Matrix {
   private:
         Matrix<T> Strassen (Matrix<T> M);
   [...]
   template <class S>
   friend Matrix<S> operator* ( const Matrix<S>& m1, const Matrix<S> m2
);
}
Ovviamente ho ridefinito l'operatore * in modo che richiamasse
Strassen(), cosi':
template <class S>
Matrix<S> operator* (const Matrix<S>& m1, const Matrix<S> m2) {
	return m1.Strassen ( m2 );
}
ma il compilatore si lamenta del fatto che sto passando un Matrix<certo
tipo> laddove se ne aspetta un altro: insomma, non mi lascia fare:
Matrix<double> A (...);
Matrix<double> B (...);
cout << A * B;
Dove sta il problema? O meglio: come risolverlo? Un cast? Una
redifinizione di qualche classe / template?
Abbiate pieta' di un povero sviluppatore C ;-) !
Grazie :-)

On 10 Jan 2006 17:01:01 -0800, 
bad...@libero.it
 wrote:
[CUT]
La solita solfa, i casi sono 2:
1) L'amica sei tu, ed in questo caso non è che mascherandoti
risolverai niente.
2) L'amica esiste davvero ed in questo caso: perchè ti accolli
problemi che non sai risolvere? Evitate di imbellirvi davanti alle
ragazze con questi mezzucci ;)

I soliti troll...
L'algoritmo l'ho bello che implementato, e l'unico ostacolo che si
oppone tra il sorgente e la compilazione e' questo stupido problema che
riguarda piu' il linguaggio in se' che non la finalita' del programma.
Se qualcuno ha una risposta coerente da avanzare...
p.s.: l'amica esiste davvero: nel mio dipartimento non ci fan fare C++,
ma Java, e di mio scrivo solo C...

 Una redifinizione di qualche classe / template?
riscrivere Matrix<T> Strassen (Matrix<T> M);
in modo che accetti un const Matrix<T>& (non credo ti sia utile copiare 
di peso tutta la Matrix<T> originale, ma questo lo sai solo tu)
-- 
()_() | Ho un cervello, non sono analfabeta e non sento    | +----
(o.o) | l'irrefrenabile bisogno di deturpare la mia lingua | +---+
'm m' | madre con "K" ed abbreviazioni...                  |  O  |
(___) |                         K.K.K (Kill the "Key" Klub)|
             raffaele punto salmaso at gmail punto com

Newsgroup: it.comp.lang.c++
Titolo: Aiuto su Impostazione Schermo

Qualcuno sa indicarmi quali sono le API da utilizzare per andare a
modificare le impostazioni delle dimensioni dei font etc etc, in pratica
per andare a settare da programma cio' che posso settare da Proprieta'
dello Schermo sotto il Tab Aspetto?
Ringrazio Anticipatamente!
Bye Bye
--
Automatic posted from 
nns.rai.it
 [193.76.127.10]
via Mailgate Server - 
http://www.mailgate.org

dello Schermo sotto il Tab Aspetto?
Molte cose -- non tutte... -- puoi farle con SetSysColors (che
pero` non persiste...) e/o SystemParametersInfo.
Alex
Newsgroup: it.comp.lang.c++
Titolo: heelp!!!RICONOSCIMENTO SCHEDA GRAFICA

Salve a tutto il news, sono Massimo.
Non riesco a trovare un' istruzione che mi ritorni la risoluzione
selezionata della scheda grafica.
Dovendo fare delle Split Windows vorrei creare le dimen. parametriche in
funzione della
risoluzione grafica, altrimenti passando da una risoluzione all' altra
si scombinano.
Grazie anticipatamente. Ogni risposta e consiglio sara' gradita.
MAX!
--
Automatic posted from 
ammi.mclink.it
 [195.110.128.1]
via Mailgate Server - 
http://www.mailgate.org

Non so se ho capito alla perfezione... vuoi sapere la modalità video
corrente sotto Windows? Nelle API trovi GetSystemMetrics che fa questo e
altro... è ciò che volevi o ho capito male?

Newsgroup: it.comp.lang.c++
Titolo: elevamento a potenza

ragazzi è importante x la verifica di domani di informatica chi è
capace mi risponda al più presto,grazie:
scrivere un programma c++ che realizzi la seguente funzione:
-a elevato a b come prodotto ripetuto per b=0 il risultato r è 1
altrimenti è r=a; r=r*a  per b-1 volte.

 altrimenti č r=a; r=r*a  per b-1 volte.
int f(int a,int b) {return b>0?a*f(a,b-1):1;}
// E.

int f(int a,int b) {return b>0?a*f(a,b-1):1;}
Non lo stai aiutando...


Infatti non ho intenzione di aiutare chi chiede di farsi fare i compiti!
Voglio vedere se ha il coraggio di portare questa soluzione al professore.
E.

Voglio vedere se ha il coraggio di portare questa soluzione al professore.
Lo farà e verrà presumibilmente bocciato :-)

?manu* ha scritto:

E allora diamogli anche questo:
template <int a, int b>
struct pow
{
  enum { v = (a * pow<a, b-1>::v) };
};
template <int a>
struct pow<a, 0>
{
  enum { v = 1 };
};
int main()
{
  int test = pow<2,3>::v;
}
GM

GM ha scritto:
fantastico, questo calcolo compile time è molto elegante !
Soviet


 Soviet
Sì, ma non hai costruito una funzione, solo una costante!
Hanno dimostrato che usando i template hai a disposizione una macchina 
di turing in compile time. E la cosa più interessante è che questa 
possibilità (di eseguire codice durante la compilazione) non era stata 
progettata appositamente, ma involontariamente.
E.

 
Era solo per aggiungere qualcosa in modo ironico alla tua risposta
"Voglio vedere se ha il coraggio di portare questa soluzione al professore"
GM

 "Voglio vedere se ha il coraggio di portare questa soluzione al professore"
Sě, certo!
E.
Newsgroup: it.comp.lang.c++
Titolo: inline e virtual

Saluti.
Fino ad oggi avevo sempre creduto che avesse senso dichiarare inline 
le funzioni virtuali, ma il VCC 7 (beta 2) mi ha fatto ricredere.
Per spiegarmi meglio faccio un esempio:
struct base
{
    virtual int foo() = 0;
};
struct derived: public base
{
    int foo() { return 0; }
};
int main()
{
    derived d;
    d.foo();
}
Ebbene, il suddetto compilatore non espande in linea la chiamata a d.foo.
Saluti  Manlio Perillo
 

 d.foo.
misteri di VC++...
gcc 3.0.4 la espande anche con il primo livello di ottimizzazioni ( -O1 )
ciao Anto
-- 
Antonio Cuni, 19 anni, studente
Brainbench C++ Master: 4.73, higher than 99% of all previous test takers.
C Language: 3.79, higher than 92% of all previous test takers.
Guida C/C++ di Programmazione.it: 
http://cpp.programmazione.it

 gcc 3.0.4 la espande anche con il primo livello di ottimizzazioni ( -O1 )
Nessun mistero, semplicemente 'inline' e' un suggerimento, non un obbligo !!
(Naturalmente per il compilatore)
#Eno
 -----= Posted via Newsfeed.Com, Uncensored Usenet News =-----
http://www.newsfeed.com
 - The #1 Newsgroup Service in the World!
-----== 90,000 Groups! - 17 Servers! - Unlimited Download! =-----
 

 wrote in message
news:sZAv8.1434$8D3....@news1.tin.it...


 obbligo !! (Naturalmente per il compilatore)
si, lo sapevo: il fatto e` che quella proposta da Manlio e` una 
ottimizzazione talmente semplice e lampante che mi pare strano che VC++ 
non la prenda in considerazione.


>> le funzioni virtuali, ma il VCC 7 (beta 2) mi ha fatto ricredere
Forse perche' e' una beta.
-- 
#eno
Newsgroup: it.comp.lang.c++
Titolo: Re: Problemi con DLL

 Nicola
Ok, grazie.

Ho postato un quesito analogo in it.comp.lang.visual-basic, cercando
di capire se ci sono soluzioni dal lato VB:
Dopo diverse peripezie sono riuscita a mettere a punto la mia DLL in C
+
+ contenente una serie di funzioni che:
1) Leggono dei valori di tipo long da un vettore monodimensionale (un
puntatore al vettore).
2) Creano e popolano una matrice di interi  (1 o 0) di dimensione NxN
(puntatore di puntatori).
3) Producono in uscita un vettore di long (un puntatore).
La matrice NxN è creata tramite calloc e al termine, è distrutta con
free. (Ho provato anche con new e delete)
Il problema attuale è che lo script (VB) che chiama la funzione non
può chiamarla più di una volta. Infatti la seconda volta quando lo
script deve preparare il vettore da passare alla funzione C++, non
riesce a fare "redim".
Viceversa: se creo uno script che chiama una sola volta la funzione,
posso lanciarlo più volte senza che si verifichi il problema.
Ancora: lo stesso algoritmo implementato completamente in VBScript
non
dà problemi di sorta (anche se ci mette un secolo e mezzo a produrre
il risultato) [...].
La riporto qui  per chiedere se il problema che si verifica può
dipendere dalla funzione C++.
Io, più che liberare la memoria con free o con delete non so che
fare.
ciao
Nabira



Newsgroup: it.comp.lang.c++
Titolo: Ancora sul numero di cifre decimali

Contare il numero di cifre decimali di un double
-----------------
Ecco il codice che teoricamente dovrebbe funzionare, ma perchè non mi da
risultati scorretti??? Vi prego aiutatemi, non posso continuare a lavorare
al mio progetto se non continuo. Mi sono proprio arenato :(
int ContaDec(double x)
{
 int i;
 int n;
 n = 0;
 for (i=0; i<=14; i++)
 {
  cout << n  // tenete d'occhio i risultati
   << " "
   << x*pow(10, n)
   << " "
   << floor(x*pow(10, n))
   << endl;
  if ((x*pow(10, n)) == (floor(x*pow(10, n))))
  {
   return n;
  }
  n++;
 }
 return -1; // ritorna -1 in caso di errore
}

 al mio progetto se non continuo. Mi sono proprio arenato :(
Per come sono rappresentati i double non ci puoi fare molto....
Ad esempio:
double d=47.52;
double tmp=d;
int count=0;
while(tmp!=floor(tmp)){
    tmp*=10;
    ++count;
}
cout << "Ha " << count << " decimali!" << endl;
Questo codice dovrebbe funzionare.... e invece funziona solo con alcuni
numeri. Il fatto e' che i double vengono rappresentati in modo diverso da
come molti si aspettano.
Imho, credo che, aisi, la soluzione che cerchi sia quella di usare una
classe di numeri decimali "a virgola fissa".
I double sono "veloci" tale classe lo sara' meno, ma almeno riuscirai a fare
quello che vuoi.
Tommy
Newsgroup: it.comp.lang.c++
Titolo: PROBLEMA CON THROW

Approfitto ancora della vostra disponibilità per questo problema:
#include <iostream>
#include <conio>
class Destroy
{
  private:
    int i;
  public:
    Destroy()
    : i(0)
    {
      cout << "costruttore eseguito\n";
      getch();
    }
    ~Destroy()
    {
      cout << "distruttore eseguito\n";
      getch();
    }
};
main()
{
  class Exception { };
  try { Destroy d; throw Exception(); }
  catch(const Exception& e)
  {
    cout << "catched..\n";
    getch();
  }
  try { Destroy d; throw; }
  catch(...)
  {
    cout << "catched..\n";
    getch();
  }
}
Programma è stato copilato con Borland C++5.2.
L'output è:
costruttore eseguito
distruttore eseguito
catched..
costruttore eseguito
Abnormal program termination
E' un problema del compilatore?
Oppure mi è sfuggito qualcosa sulla gestione delle eccezioni?

Oppure mi è sfuggito qualcosa sulla gestione delle eccezioni?
La seconda...
Throw senza argomenti serve a propagare ulteriormente l'ultima eccezione
generata, catturata e non totalmente gestita. Se non c'e` una eccezione
in tale condizione, viene invocata terminate(). Qundi mi pare tutto
regolare.
Ti riporto un frammento del draft:
A throw-expression with no operand rethrows the exception being handled
without copying it.
[...]
The exception thrown is the one most recently caught and not finished.
An exception is considered caught when initialization is complete for
the formal parameter of the corresponding catch clause, or when
terminate() or unexpected() is entered due to a throw. An exception is
considered finished when the corresponding catch clause exits or when
unexpected() exits after being entered due to a throw.
If no exception is presently being handled, executing a throw-expression
with no operand calls terminate()
Paolo
--------------------------------------------------
  Paolo Marotta
  Computer Science, University of Pisa
  home:   
http://www.cli.di.unipi.it/~marotta
--------------------------------------------------

Newsgroup: it.comp.lang.c++
Titolo: [err] not a class name or struct name

Salve a tutti,
nuovo errore in IAR EWARM, dopo aver googlato rieccomi! :-)
Ho uun bell'errore di compilazione su una classe ereditata:
-------- derivata.h
#include "base.h"
class DERIVATA: public BASE
{
  public:
   DERIVATA(class ALTRA* _altra);
};
-------- derivata.cc
#include "derivata.h"
DERIVATA::DERIVATA(class ALTRA* _altra) : BASE::BASE(_altra)
{
}
l'errore me lo segnala nel derivata.h su "public BASE" con:
Error[Pe262]: not a class name or struct name
Cosa può essere???

Difficile dire il perchè senza vedere la dichiarazione di BASE.
Dovrebbe provare ad inviare un minimo di codice compilabile che mostri
il problema.
Saluti

 > Difficile dire il perchè senza vedere la dichiarazione di BASE.
 >
 > Dovrebbe provare ad inviare un minimo di codice compilabile che mostri
 > il problema.
strano ma ho risolto spostando l'include dal .h al .cc (?????)
mistero della fede! ;-)
grazie cmq!
Newsgroup: it.comp.lang.c++
Titolo: Operatore New

Una curiosita'. Se io faccio
int * array = new int [20];
Poi inserisco dei valori in questo array. 
Dopo facio 
array = new int [25];
perdo i valori gia' inseriti o no?
--
Scritto da Gordon
E-mail: 
tbe...@avpu.vg

 perdo i valori gia' inseriti o no?
Se sei fortunato no. In generale si'.
Questo dipende dalla gestione della memoria di Windows (e di qualsiasi
altro OS). Se per esempio dove ha allocato i 20 int, dopo c'e' un'area
di
memoria gia' occupata da altri dati, la funzione che alloca la memoria
semplicemente assegna un'altra area, grande abbastanza da contenere 25
interi, quando tu richiami il new. E' ovvio che il puntatore puo' non
essere lo stesso.
Questo e' in parole povere quello che succede...
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

Questo e' in parole povere quello che succede...
capito. Quindi conviene salvare in un array temporaneo il vecchio,
resettare quello vero e poi ritrasferire i dati dal temporaneo su
quello vero ricreato piu' grande. 


 perdo i valori gia' inseriti o no?
L'array originale non viene toccato, ma perdi la possibilità di accedervi (e
di rilasciare la memoria) a meno che non tu ti sia salvato il valore della
variabile 'array' precedente all'ultimo assegnamento.
Se l'effetto finale vuol essere quello di "ampliare" l'array, devi procedere
come segue:
   int* array_new = new int [25];
   std::copy( array, array + 20, array_new );
   delete[] array;
   array = array_new;
E' *molto* meglio se usi std::vector<>, però.
Max

 alloca la memoria semplicemente assegna un'altra area, grande
La memoria usata dai primi 20 interi e` ancora occupata (dai 20
interi), e non puo` essere riutilizzata.  La seconda new restituisce
in ogni caso una zona di memoria diversa.
        Mauro

 quello vero ricreato piu' grande. 
No, conviene usare std::vector.
    Mauro

 deallocarla), anche se sei fortunato.
Beh se vogliamo essere precisi se sei (molto) fortunato i valori non li
perdi.
Se nella memoria che corrisponde alle prime 20 locazioni di memoria del
nuovo array compare la stessa identica sequenza di bit che c'era nel vecchio
array, i valori vengono conservati. Se non sbaglio l'operatore new non
inizializza la memoria allocata, quello che c'è c'è.
Diciamo che ci sono le stesse probabilità che un meteorite buchi il tetto di
casa tua e ti uccida sul colpo.
^_^

semplicemente assegna un'altra area, grande abbastanza da contenere 25
Dunque lasci i primi 20 senza poterli più recuperare, avendo perso la loro
locazione.
-- 
Ciao,
Andrea (uno dei tanti)

No, conviene usare std::vector.
e' che stavo provando a fare una coda con priorita' personale.


E' *molto* meglio se usi std::vector<>, per?
ah, chiaro tutto.

Newsgroup: it.comp.lang.c++
Titolo: info

Ciao,qualcuno sa per caso indicarmi un newsgroup dove poter postare una
domanda,su come il c++ builder registra gli ocx?probabilmente qui sono OT,ma
purtroppo non so dove postare!
Grazie...


borland.public.cppbuilder.activex, sul server 
newsgroups.borland.com
 .
Ciao,
Nicola

 ha scritto nel messaggio
news:09c8e71b-f4ae-46cc...@b15g2000hsa.googlegroups.com...

Newsgroup: it.comp.lang.c++
Titolo: Tempi di esecuzione

Ciao a tutti.
Vi propongo un piccolo quesito tecnico.
Sto facendo un'analisi dei diversi algoritmi che operano su immagini,
l'obiettivo è quello di determinare i migliori. Al termine quelli
scelti verranno inclusi all'interno di una piattaforma che opera in
ambiente real-time. Visto l'ambito di utilizzo è necessario effettuare
una stima abbastanza precisa dei tempi, ed è proprio qui che ho dei
problemi.
Lo stralcio di codice è il seguente
  imageOut=(unsigned char *)calloc(rows*cols,sizeof(unsigned char));
  cmnGetTimestamp(&timeStart);
  averageFilter3x3(imageIn,rows,cols,&imageOut,&time);
  cmnGetTimestamp(&timeStop);
  printf("\n\n\n\nTime: %lld\n",timeStop-timeStart);
  cmnGetTimestamp(&timeStart);
  averageFilter3x3(imageIn,rows,cols,&imageOut,&time);
  cmnGetTimestamp(&timeStop);
  printf("\n\n\n\nTime: %lld\n",timeStop-timeStart);
  cmnGetTimestamp(&timeStart);
  averageFilter3x3(imageIn,rows,cols,&imageOut,&time);
  cmnGetTimestamp(&timeStop);
  printf("\n\n\n\nTime: %lld\n",timeStop-timeStart);
Ecco la domanda. La prima esecuzione della funzione averageFilter
impiega circa il doppio del tempo (120 ms) delle due successive (66 -
67 ms)
Perchè?
L'unica risposta che mi sono dato è che la prima volta i dati sono
prelevati dalla memoria, mentre per le altre due esecuzioni si trovano
in cache. Vi sembra plausibile oppure avete altre spiegazioni? Questo
significherebbe che con i dati in cache i tempi sono solo dimezati,
mentre io mi aspetterei che fossero ben più bassi, tipo qualche ordine
di grandezza o no?
Se tutto questo è vero come posso fare per ottenere una stima dei
tempi?
Considerando l'ambito real-time non posso ipotizzare tempi pari a 65 -
70 ms, perchè tutte le volte che ne impiega 120 mi va il crash il
sistema, ma non posso neppure ipotizzare tempi pari a 120 - 125 ms
quando nel 80% - 90% dei casi impiega la metà.
Se avete qualche idea o suggerimento vi ringrazio.
Ciao Pier

 quando nel 80% - 90% dei casi impiega la metà.
Bel sistema real-time!
Kiuhnm

 quando nel 80% - 90% dei casi impiega la metà.
Se uno sforamento dei tempi massimi ha effetti disastrosi, l'unica 
possiblita' credo sia quella di considerare solo il caso peggiore, 
ignorando i miglioramenti prestazionali prodotti dalla cache.
In alcuni sistemi la cache puo' essere disabiliata; comunque, anche se 
non si puo' disabilitare la cache, si puo' sempre attendere in un loop 
che sia trascorso il tempo necessario.
-- 
     Carlo Milanesi
 
http://digilander.libero.it/carlmila

Newsgroup: it.comp.lang.c++
Titolo: Unix time e conversione

Salve a tutti, scusatemi, sono nuovo e non so se qualcuno ha già fatto di recente questa domanda:
Esiste una funzione per convertire il tempo unix (dal primo gennaio 1970) in tempo normale? Se si, quale?
Grazie
Raffaele Litto

 Esiste una funzione per convertire il tempo unix (dal primo gennaio 1970) in tempo normale? Se si, quale?
Sarei curioso di sapere cosa chiami tempo normale. In ogni caso svariate
funzioni per la manipolazione di informazioni temporali sono definite
nell'header <ctime>.
Ciao,
Nicola
Newsgroup: it.comp.lang.c++
Titolo: Un progetto OpenGL

Salve a tutti!
    Da un po' di tempo mi sto occupando di OpenGL ed in particolare sto
cercando di costruire un visualizzatore di scene utilizzando questa libreria
grafica. Per fare questo e mantenere la cosa sotto l'aspetto piu'
didatticamente (si tranta pur sempre di imparare!) interssante ho messo in
piedi anche un framework nudo e crudo che mi serve a rendere piu' umana la
gestione dei messaggi dell'applicazione. Il progetto pero' si sta
dimostrando parecchio(?) complesso da gestire anche perche' partendo da una
pressoche' mancanza totale di librerie scritte in qualche altra occasione mi
ritrovo ad affrontare tutto nello stesso momento e DA SOLO (ad esempio mi
trovo a dover scrivere un reader di files 3ds, le routine per le
trasformazioni, diverse classi per rendere la gestione del 3d quanto piu' OO
possibile, etc. etc.). Ora dato che la cosa sta entrando in una fase di
recrudescenza (leggi "le cose si complicano") mi interesserebbe sapere se
qualcuno vuole partecipare a questa mia maldestra idea e provare a vedere se
ne viene fuori qualcosa (ovviamente tutto nella massima filosofia del "free
software"). I requisiti sono il possesso di ottima conoscenza del C++
(soprattutto templates & STL) e "qualche rudimento" di OOP, dell'ASM 386+
(anche se al momento non lo ritengo necessario, ma non guasta mai), delle
basi di OpenGL (nulla di eccezionale, tanto si partecipa per imparare!).
Inoltre e' necessaria la conoscenza delle problematiche 3d (coordinate nello
spazio, punti, vettori, verti, object & screen space), matematica matriciale
(magari anche i quaternioni, cosi' me li spiegate bene! ;-)) ), dell'inglese
(tecnico e scritto, non recitermo l'Amleto in lingua madre!). Se magari
avete gia' iniziato (o anche di piu' ... ;-) ) qualcosa (tipo aver gia'
scritto un reader di qualche formato 3d, una classe "very" ottimizzata per
la gestione delle matrici, etc etc) tanto di guadagnato.
    Vabbe', vi ho fatto perdere troppo tempo. Se siete interessati
contattatemi su 
msc...@hotmail.com
 (anche solo per avere informazioni o
particolari). Gia' che ci sono mi scuso con gli altri se il messaggio e' OT.
Su, ragazzi contattatemi che piu' siamo piu' in gamba siamo!

Io programmo con le DX e  in Delphi, e quindi non ti posso aiutare, ma
se vuoi trovare qlc che ti aiuti posta la tua richiesta su
it.comp.giochi.sviluppo
o su #gameprog-ita in IRC.
Ciao ciao
Lawrence Oluyede
rhy...@tiscalinet.it
"Se ti credono rozzo,
  fai il raffinato;
se ti credono raffinato,
  mostrati rozzo."
Johnny Mnemonic


 wrote in message
c2fnps0ac0tp3s6e6...@4ax.com...


Newsgroup: it.comp.lang.c++
Titolo: [reference in file] sito cplusplus.com/ref/iostream/

Salve,
qualcuno sa se esiste sotto forma di file scaricabile tutto il contenuto 
che si trova in 
http://www.cplusplus.com/ref/iostream/
 (e magari anche 
quella C).
Siccome a volte dimentico i parametri (o l'ordine di essi) un 
riferimento rapido e' molto utile giusto?
Ciao

...

Puoi comprare qualcosa del genere su: 
http://www.dinkumware.com/
Ciao,
Nicola

 
Interessante, gli do' un'occhiata approfondita.
Grazie Nicola
Ciao
Newsgroup: it.comp.lang.c++
Titolo: Send keys di VB...

...Esiste qualcosa di simile in C++?
Perdonatemi se la domanda è stupida, ma sono molto scarso in questo
linguaggio di prog.
Thanks
               --Please reply via E-Mail--
                 41 69 52 20 43 48 52 53

 ...Esiste qualcosa di simile in C++?
Potresti utilizzare le API SendMessage() o PostMessage() per inviare un
messaggio WM_CHAR al controllo interessato.
EMG
Newsgroup: it.comp.lang.c++
Titolo: REQ compilatore C++ per WinXP

Come da oggetto. Il DEVC++ mi causa problemi.
Per esigenze universitarie e di portabilità vorrei proprio uno spartano
complilatore tipo *console* (testuale insomma), anche per sviluppare
contemporaneamente per Linux.
Grazie.
Per chi stesse per chiedermelo:
- Non posso mettere Linux.
- Non posso usare un emulatore Linux.
--
rocketboy^
rock...@NOSPAMsupereva.it
www.rocketboy.da.ru

 contemporaneamente per Linux.
Usa MinGW *senza* Dev-C++: 
www.mingw.org
Ciao,
Nicola

Grazie.
Ciao

 Come da oggetto. Il DEVC++ mi causa problemi.
Borland C++ Compiler 5.5, Freeware, 
www.borland.com
.
-- 
C Ya!
/* Cut "DO NOT DISTURB" to reply */

> Usa MinGW *senza* Dev-C++: 
www.mingw.org
perchè *senza*?
conosci ambienti per mingw migliori ?


Perche' a) l'OP ha detto che gli causa problemi, b) ha chiesto un
compilatore senza IDE.
Ciao,
Nicola

hai provato ad instalarti l'ambiente cygwin ti emula l'ambiente linux con la
maggior parte dei sui strumenti compilatori inclusi se vuoi delle in fo
fammi sapere il sito č:
www.cygwin.com
io lo uso per fare vari test e lo consiglio a chi si vuole avvicinare a
linux.
Newsgroup: it.comp.lang.c++
Titolo: Uso dei template nella generazione di attributi.

+AD4-in questo secondo caso la classe MeasurementSheet che e' la
cliente
della
+AD4-classe
+AD4-std::vector+ADwAPg- deve liberare la memoria utilizzando la
funzione
delete.
+AD4-Quindi la classe template std::vector+ADwAPg- rimane generica e
la gestione
della
+AD4-memoria allocata per eventuali oggetti deve essere attuata
esternamente.
Vedo che qui la discussione e tra esperti e io non lo sono, ma voglio
provare a dare un mio contributo. In C+-+- ci dovrebbe essere una cosa
che si chiama RTTI. Se non mi sbaglio (molto se) dovrebbe servire per
il controllo dei tipi a run-time.
A presto,
    Nuccio
---
You can find me at:
e-mail: XYWZamoddio+
AEA-cli.di.unipi.it
  REMOVE XYWZ FROM MY ADDRESS
FidoNet address: Nuccio Amoddio 2:332/617.45
+AD4APg-PGP public key avaiable with +ACI-finger
amoddio+
AEA-helen.cli.di.unipi.it
+ADwAPA-
fingerprint: D1E7 641F 1821 74BA  1836 9B50 B37C 5FA3

il controllo dei tipi a run-time.
Esserci c'e` (visto il notevole overhead che comporta, e` probabile
che bisognera` abilitarla specificamente con un opportuno switch al
compilatore), e, sostanzialmente, permette il *downcast*, il passaggio
da un puntatore a una classe base al corrispondente puntatore a una
classe derivata (o altre piu` complesse operazioni di navigazione in
una gerarchia di eredita`), con controllo a runtime della correttezza
dell'operazione. Funziona esclusivamente fra tipi polimorfici (cioe`
classi dotate di funzioni virtuali).
Normalmente l'uso diretto del polimorfismo (chiamate a funzioni
virtuali) e` un modo assai migliore di procedere: piu` compatto, piu`
snello, piu` veloce, e la sua correttezza e` controllata a tempo di
compilazione invece che a run-time.  Sarebbe quindi un gravissimo
errore usare l'RTTI per problemi che si possono gestire bene con
il normale polimorfismo.
Tuttavia, ci sono classi di problemi avanzati in cui piu` o meno 
inevitabilmente l'identita`-di-tipo di un oggetto "si perde", e piu`
tardi deve essere "recuperata".  E` per rendere possibili questo
tipo di operazioni in modo standard e uniforme, che lo standard
C++ ha specificato le funzionalita` di RTTI.
Alex
Newsgroup: it.comp.lang.c++
Titolo: BCPPB Puntatori Personalizzati = BUG ?

Ciao a Tutti,
Ieri ho provato ad usare con il mio Borland C++ Builder 3 St
un puntatore mouse personalizzato ma, non succede niente
rimane il puntatore standard. Ho fatto tutto come da DOC,
infatti non ricevo neanche un Warning.   UN BUG ?
1) Con Image Editor creo il file puntatore di nome:
    MIOPUNT.CUR
2) L'ho inserito nel file MIORISORSE.RC in questo modo:
    MIOP   CURSOR   MIOPUNT.CUR
    (qui viene ben compilato perchč lo vedo in   .RES)
3) Nel codice carico subito il puntatore nella FormCreate:
    Screen->Cursors[1] = LoadCursor(HInstance, "MIOP");
4) Lo chiamo per esempio col componente Image:
    Image->Cursor = TCursor(1);
    (ma, non succede niente, se al posto di 1 metto uno dei
     valori standard tipo   -4   funziona, cambia puntatore)
 Grazie!!!
                     Francesco
 
met...@rosenet.it

     valori standard tipo   -4   funziona, cambia puntatore)
Prendi il mio suggerimento con le pinze perchè non lo ho provato, ma
seguendo l'esempio dell'help: 
const crMyCursor = 5;
void __fastcall TForm1::FormCreate(TObject *Sender)
{
  Screen->Cursors[crMyCursor] = LoadCursor(HInstance, 'NewCursor');
  Cursor := crMyCursor;
end;
Forse dovresti scrivere:
Image->Cursor = 1;
Spero di esserti stato di aiuto.
Ciao
_________________________________________________
Roberto Gerola
e-mail: 
roge...@tin.it
WWW: 
http://space.tin.it/computer/rgerola
_________________________________________________

Newsgroup: it.comp.lang.c++
Titolo: Domanda forse stupida sul backspace

Salve a tutti.
Scusatemi ma come faccio a cancellare l'ultimo carattere da uno stream? Ho
notato che '\b' (carattere backspace) che usavo in c non funziona. Come
procedere?
Grazie ancora a tutti per il supporto.
Max

:

Cancellarli in senso fisico non puoi, però puoi ignorarne una certa 
quantità con istream::ignore(streamsize num =1, int delim =EOF);. Occhio 
che però funziona solo sugli stream in input!
Saluti
-- 
Per l'e-mail rimuovere la frase in maiuscolo e gli underscore.
E finalmente sono su Linux!
Newsgroup: it.comp.lang.c++
Titolo: Problema script [restart thread]

il thread parte da qua (correggendo lo script in varie parti) prima ho fatto 
un po di confusione a scrivere
----------------------------------------------------------
La domanda originaia era:
 
Io avrei un database (in un software) di tanti simboli e lo script sopra da 
in modo di cambiare gli ultimi caratteri[A DESTRA] di un dato testo.
 
Se volessi invece cambiarlo e fare in modo di cambiare i >>PRIMI<< (a 
sinistra) come potrei modificare lo script?
 
 
 
Lo script con la parte modificata:
[prima era :  st.Ticker = StrLeft( ticker, Length-3)+"-TC";]
 
 
 
Script
-------------------------------------------
AB = CreateObject("Broker.Application");
sts = AB.Stocks();
Qty = sts.Count;
 
 
for( i = Qty - 1; i >= 0; i = i - 1 )
{
 st = sts.Item( i );
 Ticker = st.Ticker;
 printf("changing " + Ticker + "\n" );
 Length = StrLen(Ticker );
 if( StrFind(Ticker, ".TO") )
 
  st.Ticker= "TO:"+StrRight(Ticker,Lenght+3);
}
------------------------------------------------
 
 
 
Lo script funziona parzialmente ma ci sono 2 problemi:
 
 
(1.) cambia solo 1 simbolo alla vota (forse per un problema del ciclo FOR)
 
 
(2.) Errore più grave:
 
Esempio: Io ho i simboli [sotto] -----> e il risultato dato dallo script
 
TO:A       TC-T:A  wrong
TO:DE      TC-:DE  wrong
TO:ASD     TC-ASD  OK OK OK OK
TO:AXMA    TC-XMA  Wrong
TO:ERJTT   TC-JTT  wrong
...
...
etc..
 
 
Io voglio modificare solo la parte che voglio (in questo caso "TO:") 
lasciando la parte rimamente così come era originariamente.
 
 
spero di essere stato chiaro.
Grazie per l'eventuale aiuto.
Lino.

Sembra che Lino abbia detto :

Risolto:
 
AB = CreateObject("Broker.Application");
sts = AB.Stocks();
Qty = sts.Count;
 
 
for( i = Qty - 1; i >= 0; i = i - 1 )
{
 st = sts.Item( i );
 Ticker = st.Ticker;
 printf("changing " + Ticker + "\n" );
 Length = StrLen(Ticker );
 
 if( StrFind(Ticker, "BIT:") )
 
   st.Ticker= StrReplace(st.Ticker, "BIT:", "IT_");
}

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

Sto usando c++ builder 3.0, non riesco a
usare la funzione ROUND per arrotondare
un float..sapete dirmi come fare??
grazie


int round_x = static_cast<int>(x + .5);
Newsgroup: it.comp.lang.c++
Titolo: programma multipiattaforma

Ciao a tutti,
vorrei realizzare un programma multipiattaforma (win, mac, unix)
composto, sostanzialmente, da un piccolo parser xml e un'interfaccia
minima per editare il file in questione in base a una serie di regole.
La prima soluzione a cui avevo pensato era un'applet java, ma la
necessità di leggere e scrivere su disco me l'ha fatta scartare:
voglio evitare il casino delle "signed applets" e via dicendo.
La seconda soluzione che mi è venuta in mente è usare le librerie qt,
di cui comprerei una licenza commerciale: in tal caso dovrei creare 3
eseguibili, magari compilati staticamente per non dover obbligare
l'utente a installare le librerie in questione. Vi sembra una buona
idea? Quali saranno le dimensioni dei tre binari? mi piacerebbe
riuscire a schiaffare il tutto in una memory card usb.
Vi vengono in mente alternative?
Grazie

  di cui comprerei una licenza commerciale
le wxwin fanno schifo?
V.
-- 
Un filosofo ha bisogno di due forchette per mangiare gli spaghetti
[Edsger W. Dijkstra]

>  La seconda soluzione che mi è venuta in mente è usare le librerie qt,


Ho tentato di rispondere in privato ma mi ... rimbalza pur avendo tolto
il nospam.
Io non ho mai usato wxwin (in generale, il C++) per un progetto serio.
Cmq le librerie sono leggerissime, se non ricordo male l'eseguibile di
audacity/win linkato staticamente (ovvio alle sole wxwin) mi stava in un
dischetto, le dll sono molto piccole in generale, sotto debian c'č pure
un .deb per il cross-compiling... cosa chiedere di piů alla vita?
Per quanto riguarda winXP non so, ho provato apt-get install winxp ma
non ... funge :)
Ti ho consigliato wxwin perchč hanno il look and feel nativo e sono GPL.
Cmq in bocca al lupo e buon divertimento, ma qui questo argomento
sarebbe OT.
V.


grazie per l'aiuto

Newsgroup: it.comp.lang.c++
Titolo: settare il compilatore

scusate l'ignoranza ma mi servirebbe una cortesia: come si setta il borland
C++ 5.5.1?
non riesco a creare i files . cfg richiesti
Grazie.... rispondete via mail please

non riesco a creare i files . cfg richiesti
esiste un file readme.txt apposta..
----
Lawrence "Rhymes" Oluyede
rhy...@myself.com

 Grazie.... rispondete via mail please
domanda sul NG => risposta sul NG
E' un gruppo di discussione, un un help desk :-)))
--
Gerolamo

Newsgroup: it.comp.lang.c++
Titolo: INFORMAZIONE LIBRI

Quale libro è il migliore cioè come impaginazione, facilità di
apprendimento, chiarezza, ecc.. , fra:
C++ corso di programmazione - terza edizione - Stanley - Josee
C++ guida completa - seconda edizione - Schildt
GRAZIE



Ti consiglio di leggere le faq di questo NG su 
www.programmazione.it
dove sono indicati diversi buoni libri.
Paolo

Ho risposto alla tua domanda su it.comp.lang.c
valla a vedere!
Alex (tommy)
Paolo Marotta ha scritto nel messaggio ...

Newsgroup: it.comp.lang.c++
Titolo: realloc

ho un piccolo problema. Di solito in c sono abituato ad usare realloc per gestire
array di dimensioni variabili, tuttavia in c++ se questi rappresenta una classe
la realloc non mi garantisce la chiamata al costruttore, al posto della malloc
uso new ma per la realloc? la classe vector funziona?
grazie


E' fatta apposta.
Ciao,
Nicola



 un'alternativa? questi templates sono veramente grassi!
ciao


Scrivere le cose a mano, ma e' complesso, rischioso e difficilmente
porta a risultati migliori. Soprattutto se il contenitore che vuoi
sostituire e' vector.
Ciao,
Nicola

  un'alternativa? questi templates sono veramente grassi!
Cosa intendi esattamente per per grassi?
--
Gerolamo



fanno aumentare enormemente l'eseguibile, un programma senza i vector di che
ho scritto di circa 500 righe di codice è di 8k, mentre con i vector arriva 
a 33k!
ciao
Newsgroup: it.comp.lang.c++
Titolo: problema con "THIS": mi da un errore che non capisco.

non riesco a compilarlo: c'č un errore che non riesco a capire nell'uso
di "this".
#include<iostream.h>
 
   class address{
 
      int a,b,c,d;
 
   public:
      address(int a,int b,int c, int d);
      void stampa(void);
 
   };
 
   address::address(int x, int y, int z,int w)
 
   {
      cout<<"values before: "<<this.a<<","<<this.b<<","<<this.c<<","<<this.d<<endl;
      this.a=x;
      this.b=y;
      this.c=z;
      this.d=w;
      cout<<"values passed "<<x<<","<<y<<","<<z<<","<<w<<endl;
      cout<<"values after"<<this.a<<","<<this.b<<","<<this.c<<","<<this.d<<endl;
   }
 
   void address::stampa()
 
   {
      cout<<this.a<<","<<this.b<<","<<this.c<<","<<this.d;
 
 
   }
 
   main()
 
   {
      address a(1,2,3,4);
      a.stampa();
 
   }

di "this".
A che ti serve qui "this"? Prova comunque con this->a
Luc.

>non riesco a compilarlo: c'è un errore che non riesco a capire nell'uso


    }
This e' un puntatore. In questo caso di tipo address*. Quindi dovresti scrivere
this->a invece che this.a. Comunque dall'interno di un metodo della classe non
hai bisogno di this per accedere ai membri. Prova con:
    address::address(int x, int y, int z,int w)
    {
       cout<<"values before: "<<a<<","<<b<<","<<c<<","<<d<<endl;
       a=x;
       b=y;
       c=z;
       d=w;
       cout<<"values passed "<<x<<","<<y<<","<<z<<","<<w<<endl;
       cout<<"values after"<<a<<","<<b<<","<<c<<","<<d<<endl;
    }
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

 che differenza c'è in questo caso fra this. e this->?
Sono due operatori differenti: accedono ad un elemento di una
struttura o classe, ma a partire da un'istanza o da un puntatore.
Qualunque testo elementare di C o C++ li descrive, compresi quelli
citati nelle FAQ.
-- 
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.

   }
This é un puntatore all'istanza che ha richiamato la funzione membro
quindi devi usare l'operatore -> per accedere ai suoi dati membro.
Evita comunque di usarlo, tranne che nei casi in cui devi fare
riferimento all'intero oggetto.
Il Ghenio
WINWORD.EXE - ERRORE DI APPLICAZIONE
l'istruzione a "0x3017ff27"ha fatto riferimento alla
memoria a "0x02a3143c".La memoria non poteva essere 'read'.

 This e' un puntatore. In questo caso di tipo address*.
Ad essere pignoli il tipo di this è address* const.
Saluti  Manlio Perillo
Newsgroup: it.comp.lang.c++
Titolo: Borland builder

Premesso che so già programmare un po' in c++ ho acquistato l'ultimo numero
della rivista il programmo in cui era contenuta l'edizione di c++ builder 3
della borland per win 95.
Vorrei dedicarmi anche alla programmazione visuale ma non so da che parte
iniziare. Qualcuno sa dove poter attingere del materiale o altro?
Gliene sarei enormemente grato.
ciao a tutti da roberto

 wrote:
: Premesso che so già programmare un po' in c++ ho acquistato l'ultimo numero

: 
:
se cerchi con 
www.google.com
 o altro engine la stringa 
"charlie calvert c++ builder unleashed" trovi
dei link ad un libro in formato html sul c++ builder,
ad esempio 
http://kitap.selcuk.edu.tr/k2/c_builder/

Newsgroup: it.comp.lang.c++
Titolo: Borland c++ 3 - Scrittura in append su file

Come posso andare in aggiunta record ad un file?
Inoltre come posso reperire i dati per chiave? Come faccio la ricerca e
come devo memorizzare i dati?
Grazie

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

Salve a tutti.
Ho scritto queste due righe di codice
#include<iostream>
#include<string>
using namespace std;
int main()
{
  char c;
  while(c!='q')
  {
   string nome;
   cout<<"Inserisci un nome: ";
   getline(cin,nome);
   cout<<nome<<endl;
   cout<<"Inserisci q per uscire: ";
   cin>>c;
  }
  return 0;
}
e quando le ho eseguite, questo ne è stato il risultato:
Inserisci un nome: fabio               // qui ho inserito fabio
fabio                                           // ha stampato il nome che
ho inserito
Inserisci q per uscire: d                // qui ho inserito un carattere
diverso da 'q'
Inserisci un nome:                        // queste due righe, le ha
Inserisci q per uscire:                   // stampate in successione,
escludendomi
                                                   // la possibilità di
inserire un altro nome.
Perchè si comporta in questo modo? Dove ho sbagliato?
Mi aspettavo che, dopo evermi chiesto se desideravo uscire o no, chiedesse
di inserire un nuovo nome ed attendesse il mio inserimento.
Ciao
Fabio

 }
======================================================
Rony Cesana
Sistemi Informativi srl - Gruppo Liberologico
via F. Goya 2 - 56010 loc. Ghezzano - Pisa Italy
tel.: 
+39 050 877088
 - fax: 
+39 050 8755498
pers.: 
+39 347 2582666
e-mail: 
r.ce...@liberologico.com
www.liberologico.com
======================================================

 getline(cin, nome);
Mi spieghi come lavora per raggiungere l'obiettivo posizionato dopo il
recupero di 'c'?
Ciao e grazie
Fabio

 getline(cin, nome);
E' tutto chiaro.
Ciao e grazie
Fabio

 variabile char o string?
char c = 'a';
Cordiali saluMi,
    Rony

Newsgroup: it.comp.lang.c++
Titolo: algoritmi: reverse

Salve,
qualcuno gentilmente mi può dire che errore c'è in questo codice che
produce "bus error" al posto della stampa della stringa dopo la chiamata
di reverse() ?
---
#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
  char* s="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
  cout << s << '\n';
  reverse (s,s+26);
  cout << s << '\n';
}
---
Ottengo:
ABCDEFGHIJKLMNOPQRSTUVWXYZ
Bus error
grazie :)
-- 
salvo

 reverse (s,s+26);
I letterali stringa non sono modificabili. Il codice compila perché per 
ragioni "storiche" è consentito assegnare l'indirizzo di un letterale 
stringa a un puntatore a char "non-const", ma tale puntatore non potrà 
essere usato per modificare il contenuto del letterale. Se usi un array il 
tuo codice funziona:
  char s[]="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
  cout << s << '\n';
  reverse (s,s+26);
Max

 tuo codice funziona
grazie, infatti ora funziona.
Avevo preso l'idea da un libro, tanto per provare gli algoritmi generici
del C++, ma evidentemente questo era sfuggito persino al suo ...autore
:)
ciao,
salvo
Newsgroup: it.comp.lang.c++
Titolo: diff getchar() scanf()

ciao
come da oggetto
a parte la specifica di conversione e la possibilità di intercettare un 
carattere quanto una stringa....per scanf()
c'e' differenza tra le due funzioni getchar() e scanf() quando la mia 
necessità è solamente intercettare un semplice carattere alfanumerico?
grazie

f22 ha scritto:

Sì, sono diversi. La funzione getchar restituisce il carattere 
successivo, qualunque esso sia, la scanf (con parametro "%c") prende il 
carattere successivo scartando eventuali caratteri di spaziatura (vedi 
"isspace").
E.
Newsgroup: it.comp.lang.c++
Titolo: T* e vector<T>::iterator

Mi sembra di ricordare (ma forse come al solito me lo sono sognato) che in
questo newsgroup qualcuno in passato abbia detto (forse Alex Martelli) che
a un certo punto nel processo di definizione dello standard sia stato
stabilito che vector<T>::iterator debba essere implementato come un T*.
Dunque: ricordo che se ne era parlato, ma non riesco a ritrovare il post e
non ricordo cosa in effetti era stato sostenuto, forse esattamente il
contrario di ciò che ho appena detto (ossia che nessun vincolo di
implementazione è imposto).
Qualcuno potrebbe rinfrescarmi la memoria?
Max

 wrote in message
news:Pine.LNX.4.10.100051...@c64.comm2000.it...
Mi sembra di ricordare (ma forse come al solito me lo sono sognato) che in
questo newsgroup qualcuno in passato abbia detto (forse Alex Martelli) che
a un certo punto nel processo di definizione dello standard sia stato
stabilito che vector<T>::iterator debba essere implementato come un T*.
Dunque: ricordo che se ne era parlato, ma non riesco a ritrovare il post e
non ricordo cosa in effetti era stato sostenuto, forse esattamente il
contrario di ciň che ho appena detto (ossia che nessun vincolo di
implementazione č imposto).
Qualcuno potrebbe rinfrescarmi la memoria?
Penso in effetti di essere stato io a parlarne.  Si tratta di
un aspetto emerso DOPO la definizione dello standard, che poi
Stroustrup ha sottoposto come defect-report sullo standard stesso,
cioe` sostenendo che le parole effettivamente finite nel testo
dello standard non riflettevano cio` che avevano capito e
accordato i membri del comitato stesso.
"Alla lettera" del testo dello standard, l'iteratore di un
vector puo` essere cio` che l'implementatore vuole.  Ma la
comprensione e l'accordo del comitato vertevano invece su
di un vector come *BLOCCO CONTIGUO DI MEMORIA*, l'equivalente
"bello" di un vecchio dannato array.
Mi SEMBRA che per imporre l'implementazione di vector come
blocco contiguo di memoria occorra e basti imporre che un
iteratore di vector sia un puntatore, poiche` altri concetti
di "blocco contiguo" in C++ non si possono neppure esprimere.
A quel che ho sentito, il defect report e` stato risolto in
questo senso.  Potrei avere frainteso, ma il contesto della
discussione era di quelli in cui i blocchi contigui servono,
come per il metodo read di std::istream.  Se avessi assoluto
bisogno di saperlo, chiederei chiarimenti su comp.std.c++
(dopo avere cercato un poco su 
deja.com
 per garantirmi che
la domanda non sia stata posta di recente, sia nelle FAQ,
ecc, ecc).
Alex

 ecc).
Grazie. Ho scoperto che in effetti la questione è stata oggetto di
discussione in comp.std.c++ nel 1998. A chi interessa ecco il link a un
post di Stroustrup sull'argomento:
 
http://x36.deja.com/getdoc.xp?AN=354999401&CONTEXT=958747814.1739063328
Max

Newsgroup: it.comp.lang.c++
Titolo: c++ builder 3 in regalo su inter.net di marzo

Per chi non lo avesse visto, volevo segnalare questa bella notizia.
Ciao
Michele Alessandrini



Anche su DEV di aprile.
Carlo Pellegrini
### Remove NOSPAMPLEASE to answer ###
Newsgroup: it.comp.lang.c++
Titolo: compilare un programma.

chiedo  una informazione.
ma da dove partite per compilare un programma.
come si ragiona per crearne uno.
ho letto dei sorgenti
ma non ci capisco niente.
come si ragiona?da dove si parte?

dix619 ha scritto:
ma hai escluso a priori l'idea di comprare qualche libro o 
manuale cartaceo e leggertelo un paio di volte per farti un'idea 
preliminare, che so, della sintassi, di qualche algoritmo di base ?
Secondariamente, armato di qualche nozione di base, cercati un 
problema da risolvere, e dopo potrai pensare a come ragionare.
Detta in astratto la tua domanda è assai filosofica, ma una 
discussione filosofica non penso che sia quello di cui sei in cerca.
Che scuola hai fatto, tanto per sapere ?
Ciao
Soviet


 wrote

di solito si compra un libro e lo si legge.
in generale, per ora compilati il solito hello world:
#include<iostream>
using namespace std;
int main()
{
   cout << "Hello World!" << endl;
}
ma poi ti serve un libro per andare oltre...
Tommaso
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

Newsgroup: it.comp.lang.c++
Titolo: Caricare una Libreria

---------------------------------------------------------<

...
Non so sotto windoze ma guarda che l'opzione per il linkaggio di una
libreria e' la seguente:
-lXXXX
dove la libreria si deve chiamare
libXXXX.a
ciao Mei

Mei wrote:

 In effetti sbagliavo proprio nella sintassi: non sapevo che era necessario
"eliminare" il 'lib' davanti al nome della libreria (l'estensione avevo
provato con e senza ma non era quello il problema).
Ora però ho risolto: GRAZIE MILLE !!!!!
Ciao, UDA.

Newsgroup: it.comp.lang.c++
Titolo: MFC or API....

È possibile programmare windows in C++ con le classi MFC o con le API
in C... Cosa sono esattamente le API ? Altre classi ? Perchè la
programmazione
con le API è detta a basso livello ? (correggetemi se mi sbaglio...)
Ph.

 con le API è detta a basso livello ? (correggetemi se mi sbaglio...)
Perché al di sotto di quelle c'è solo l'Assembly (credo).
EMG

 con le API è detta a basso livello ? (correggetemi se mi sbaglio...)
API e` la sigla di Application Programming Interface; le API sono
una collezione di funzioni, "di basso livello" in quanto sono la
"piattaforma" sulla quale poggia qualsiasi framework per Windows.
Alex

 Ph.
-- 
Alessio Gordini
Comm2000 Spa
Via Leopardi, 9
Milano
Italy