mercoledì 30 luglio - 17:08
Google
 
Menù
  Home
  Come nasce IRC-Zone
  Glossario Informatico
  News
  I nostri progetti
  I nostri servizi
  Partners
  Diventa un Partner

IRC
  Cos'è IRC
  Storia di IRC
  Netiquette su IRC
  Emoticons
  Gergo della chat
  Lista Servers
  RFC 1459
  Shell Hosting

mIRC
  Cos'è il mIRC
  FAQ mIRC
  Configurazione mIRC
  Download mIRC
  Novità
  Script Stranieri
  Script Italiani
  MTS
  MTS Engine

mIRC Addon
  mIRC addon Audio
  mIRC addon SMS
  mIRC addon Grafica
  mIRC addon Utility
  mIRC addon Uso Bot

Client IRC
  Client IRC Linux
  Client IRC Mac
  Client IRC Win

XChat
  Cos'è XChat
  XChat per Win
  XChat per Unix

KVirc
  Cos'è KVirc
  FAQ KVirc
  Installazione su Linux
  KVirc Scripting
  KVirc per Mac
  KVirc per Win
  KVirc per Unix
  KVirc addon

Irssi
  Cos'è Irssi
  Download Irssi
  Download Moduli

Eggdrop/Windrop
  Cos'è un Eggdrop
  Download Eggdrop
  Configurazione Eggdrop
  Download Windrop
  Installazione Windrop

Tcl
  Download TCL
  Tutorial TCL scripting
  Documenti/Guide

BNC
  Cos'è un psyBNC
  Download psyBNC
  Configurazione psyBNC
  Download sBNC
  Configurazione sBNC

Linkaci!
footer

Credits
Somerights

footer

Statistiche
Ip: 54.196.195.207
Download: 782760 file
Totale: 1170859 MB

footer

Links amici
MF's IT User Essential Security Center



Basi di C++ - Altro sulle funzioni

Autore: [Papero]Data: 2005-04-20
Modificato: 2007-01-26 Letture: 2869
Torna indietroStampa articoloInvia ad un amico

Lezione 13: Altro sulle funzioni

La ragione per cui ho messo questo tutorial alla fine dell'elenco, piuttosto che fare un'aggiunta all'altra mia lezione, è semplice: non volevo farlo perdere alla gente che aveva già letto il primo!
Nella lezione 4 vi sono state fornite delle informazioni basilari sul tutorial. Comunque lascio fuori due argomenti di interesse. Primo, quando si dichiara una funzione non c'è bisogno di farne il prototipo! Tuttavia, si deve dare la definizione della funzione fisicamente prima di chiamare la funzione. Semplicemente digitate l'intera definizione della funzione dove mettereste normalmente il prototipo.
Per esempio:

#include
void function(void) //Normalmente questo dovrebbe essere il prototipo.
//Non dimenticate di eliminare il ';'.
//Solo i prototipi lo utilizzano
{
cout<<"HA! NESSUN PROTOTIPO!";
}
void main()
{
function(); //Ora funziona come una qualsiasi funzione.
}

L'altro concetto di programmazione è la funzione inline. Le funzioni inline non sono così importanti, ma è bene comprenderle. L'idea di base è di salvare tempo al costo di spazio.
Come fa una funzione inline a rendere un programma più veloce? Come fa a renderlo più grande? Vi ricorda la relatività? Le funzioni Inline sono veramente molto simili a un segnaposto. Una volta definita una funzione inline utilizzando la parola chiave 'inline', ogni volta che viene chiamata questa funzione il compilatore sostituirà la chiamata alla funzione col codice attuale della funzione stessa. Come fa questo a rendere il programma più veloce? Semplice, le chiamate a funzione impiegano più tempo che non lo scrivere tutto il codice senza funzioni. Comunque, ripassare tutto il programma e rimpiazzare una funzione che avete usato 100 volte con il codice relativo alla funzione stessa, sarebbe uno spreco di tempo. Naturalmente, l'utilizzo della funzione inline per rimpiazzare le chiamate a funzione con il codice della funzione stessa, farà lievitare le dimensioni dell'eseguibile del vostro programma.
L'utilizzo della parola chiave inline è semplice, bisogna solo metterla prima del nome di una funzione. Poi, quando si usa questa funzione, fingete che non si tratti di una funzione inline. Per esempio:

#include
inline void hello(void) //usate semplicemente la parola chiave inline prima
//della funzione. Notare che è una funzione senza prototipo
{
cout<<"hello";
}
void main()
{
hello(); //Chiamatela come una funzione normale...
}

Ad ogni modo, una volta compilato il programma, la chiamata a hello(); sarà rimpiazzata con il codice della funzione.
UNA PAROLA DI AVVERTIMENTO: Le funzioni Inline sono veramente utili per risparmiare tempo, ma se le usate troppo spesso o con funzioni troppo larghe, otterrete un programma trmendamente largo. Alcune volte, programmi larghi possono essere meno efficienti, perciò gireranno più lentamente di prima. Le funzioni inline sono buone per piccole funzioni che vengono chiamate spesso.
In futuro tratteremo le funzioni inline riferite alle classi C++. Comunque, ora che avete capito il concetto, mi tornerà utile usare le funzioni inline in altri tutorial. A questo punto non è mia intenzione aggiungere qualcosa sulle classi che alcuni potrebbero perdersi facilmente se non capissero che le informazioni erano nel tutorial.


 

Branzilla Contest Redeem

Links utili

Newsletter
Iscriviti
Cancellati

Ci sono 39 iscritti

In rilievo..
  JackSMS v3
  Venom Script Lite

Documenti/Guide
  I Social Network
  Sicurezza in rete
  Cos'è SSL
  FAQ Bot
  Documenti su IRC
  FAQ Ident
  RFC 2810
  RFC 2811
  IRCx RFC

Informatica libera
  Gli Hoaxes
  Hoaxes report
  Documenti vari
  CensorWare
  Windows
  Linux

mIRC Scripting
  Codice ASCII
  Snippet mIRC scripting
  Tutorial mIRC scripting
  Dll per mIRC
  Utilities

IRCd
  Cos'è un IRCd
  Download Unreal
  Download Hybrid 6
  Download Hybrid 7
  Download Ultimate
  Download Bahamut
  Configurazione IRCd

IRC Services
  Cosa sono i Services
  Download Anope
  Download Epona
  Ircservices 5.0
  Ircservices 5.1
  Configurazione Epona
  Configurazione Anope
  Comandi ChanServ
  Comandi NickServ
  Comandi MemoServ

NeoStats
  Cosa sono i NeoStats
  Download NeoStats
  Configurazione NeoStats
  Download Moduli

IPv6
  Cos'è IPv6
  IPv6 su Win2000
  IPv6 su WinXP
  IPv6 su Linux
  IPv6 su mIRC e Xchat

Programmazione
  Tutorial C++
  Tutorial C
  Compilatori C/C++

Altro
  Contatti
  Banners Gallery

RSS Feed




Progetti
Starlight
IRCHippo

Validato CSS
Sito interamente sviluppato in PHP
MySQL
©2004+ IRC-Zone | Webmaster | Sitemap
Created by Cesare 'Kaesar83' Lasorella
Designed by Manuel 'erkokki' Cabras
IRC-Zone non è responsabile del contenuto dei siti linkati
Pagina creata in: 0.184 sec con 27 queries
Spampoison
Sviluppato con Notepad++
website monitoring service