Quindi secondo te gli altri linguaggi sono "peggiori del C++" o comunque fanno tutti schifo ma il C++ è il meno peggio
scatta quella parola di troppo troppo che ci evapora @dsar dal foro
Citazione da: Nonefonow - 27 Ottobre 2015, 16:19:41Cancellare tutti i messaggi quando uno lascia il forumgia', mi ha detto byebye in MP ed e' "scompa-vanito" tipo nuvola di fumo ninjamentre il verbo "to MacGyver" e' entrato ufficialmente ne dizionario Oxford
Cancellare tutti i messaggi quando uno lascia il forum
for (i = 0; i < strlen (s); ++i) { // Do something which doesn't affect s. }
One advantage is that if a function is pure, then if it is called several times with the same arguments, the compiler only needs to actually call the function once.
s dovrebbe essere statica per tutta la durata dell'applicazione
int temp = strlen(s);for (i = 0; i < temp; ++i){ // Do something which doesn't affect s.}
s = "Prima del ciclo";for (i = 0; i < strlen(s); ++i){ // Do something which doesn't affect s.}s = "altre robe";
Citazione da: Allanon - 29 Ottobre 2015, 19:39:20s dovrebbe essere statica per tutta la durata dell'applicazioneNo: il problema dell'esempio è che strlen(s) viene chiamata dopo ogni singola ripetizione del ciclo (per verificare la condizione di terminazione), quindi se strlen() è pura e s non cambia all'interno del ciclo, possiamo trasformare il codice in:Codice: [Seleziona]int temp = strlen(s);for (i = 0; i < temp; ++i){ // Do something which doesn't affect s.}Subito prima e subito dopo il ciclo, non ci interessa cosa succede a s, perchè a noi dava fastidio solo per il ciclo; insomma, anche se il codice fosse:Codice: [Seleziona]s = "Prima del ciclo";for (i = 0; i < strlen(s); ++i){ // Do something which doesn't affect s.}s = "altre robe";la trasformazione sarebbe comunque legittima, perchè l'espressione strlen(s) rimane costante per tutta la durata del ciclo. Non è necessario che la s rimanga costante per più di questa piccola sezione di codice.
ricordate la 68000 bovina?adesso ha un ROM emulator attaccato al socket.rom1 (fino a 512Kbyte)sul socket.rom0 c'e' una EPROM da 512Kbyte con dentro un monitor Intermetrics compatibile con gdb-v6.2 il tutto e' controllato da un NetusG20 Arm, modulino linux embedded con attaccato un disco USB da 10Gbytenel rootfs ho messo un intera toolchain target=m68kun server in ascolto per programmare la ROM da reteun server gdb, allacciato alla serial console e alla debug console della scheda 68K un LA molto bovino in ascolto sul buse come linguaggi di scriptinglua (dev-lang/lua)Python (nativo gentoo)OCaml (dev-lang/ocaml, ho abilitato l'interprete ocamlrun)sembra la scatola dei giochi