ciao ragazzi..
c'è un modo per fare questo?
cioè avere ad ogni istanza la variaible myString settata a "ciao"..codice:class MyClass{ MyClass(){blabla} string myString = "ciao"; }
oppure devo fare tutto per forza usando il costruttore?
ciao ragazzi..
c'è un modo per fare questo?
cioè avere ad ogni istanza la variaible myString settata a "ciao"..codice:class MyClass{ MyClass(){blabla} string myString = "ciao"; }
oppure devo fare tutto per forza usando il costruttore?
codice:class MyClass{ MyClass() : myString ("ciao") {blabla} string myString; }
This code and information is provided "as is" without warranty of any kind, either expressed
or implied, including but not limited to the implied warranties of merchantability and/or
fitness for a particular purpose.
E soprattutto è piuttosto ingarbugliato da utilizzare se devi fare operazioni non banali con i parametri del costruttore prima di inizializzare i campi. D'altra parte non saprei come semplificarlo.Originariamente inviato da xnavigator
quant'è brutto O_O
Tieni presente inoltre che se inizializzi più campi con quella sintassi - e non ne puoi fare a meno se hai dei reference o degli oggetti inizializzabili solo tramite costruttore come campi della classe - l'ordine di inizializzazione non è quello specificato nel costruttore, ma quello secondo cui i campi sono stati dichiarati nella dichiarazione della classe.
Amaro C++, il gusto pieno dell'undefined behavior.
Da quando efficienza e versatilità sono brutte?Originariamente inviato da xnavigator
OMG
quant'è brutto O_O
;-)
(Parafrasando Humphrey Bogart nel film L'ultima minaccia.)Originariamente inviato da xnavigator
OMG
quant'è brutto O_O
E' il C++ e tu non ci puoi fare niente. Niente.
This code and information is provided "as is" without warranty of any kind, either expressed
or implied, including but not limited to the implied warranties of merchantability and/or
fitness for a particular purpose.
non capisco quale fosse il problema del c++ ad accettare (come tutti i linguaggi moderni) una sintassi del genere:
class Class1{
string myS = "ciao";
}
semplice e pulita...
vabè fa niente...
@MItaly:
grazie per le sempre dettagliate spiegazioni ma non credo che userò quella sintassi... vermenete non mi piace proprio
ma, come minimo, limitante.Originariamente inviato da xnavigator
non capisco quale fosse il problema del c++ ad accettare (come tutti i linguaggi moderni) una sintassi del genere:
class Class1{
string myS = "ciao";
}
semplice e pulita...
un po' come quelli che venendo da access ed accostandosi ad oracle si lamentano della mancanza dei campi autoincrementali.
EDIT:
a parte che in certe situzioni sei obbligato ad utilizzare quella sintassi, ma se non lo farai a priori quando potrai, semplicemente sottoutilizzerai l'espressività del C++.Originariamente inviato da xnavigator
non credo che userò quella sintassi... vermenete non mi piace proprio
;-)
bhè detto da uno che usa the come prefisso per i nomi degli argometni è tutto..Originariamente inviato da MacApp
ma, come minimo, limitante.
http://it.wikipedia.org/wiki/DogcowOriginariamente inviato da xnavigator
bhè detto da uno che usa the come prefisso per i nomi degli argometni è tutto..