infoarena

infoarena - concursuri, probleme, evaluator, articole => Informatica => Subiect creat de: Florin Pogocsan din Martie 11, 2008, 00:09:19



Titlul: Functii inline si alte chestii
Scris de: Florin Pogocsan din Martie 11, 2008, 00:09:19
am si io o intrebare... poate nu tine neaparat de complexitate, dar care e diferenta intre
Cod:
int main(void)
{
...
}
si
Cod:
int main()
{
...
}
si mai am o nelamurire... q ce sunt mai bune functiile inline si knd se pot folosi

Daca pui int main(void) atunci inseamna ca tu iti apelezi programul tau fara sa ii pasezi anumiti parametrii. Aici (http://www.cplusplus.com/forum/beginner/247/) poti sa gasesti o explicatie un pic mai cuprinzatoare.
In legatura cu functiile inline pot sa iti spun doar ca daca sunt plasate bine atunci merg mai repede.


Titlul: Răspuns: Complexitate
Scris de: Savin Tiberiu din Martie 11, 2008, 00:17:13
am si io o intrebare... poate nu tine neaparat de complexitate, dar care e diferenta intre
Cod:
int main(void)
{
...
}
si
Cod:
int main()
{
...
}
si mai am o nelamurire... q ce sunt mai bune functiile inline si knd se pot folosi

functiile inline se folosesc cand ai functii mici care le apelezi de foarte multe ori, compilatorul copie codul acolo unde este apelata functie, castingandu-se astfel timp. Atentie : codul nu este copiat intotdeauna. Nu tre sa fie o functie recursiva, si am impresia ca nu trebuie sa contine nici loopuri. Spre exemplu imi fac o functie care imi calculeaza maximul a doua numere, functie pe care eu o apelez foarte mult. Atunci eu o sa pierd timp din cauza apelului la functie, insa dak pun inline in fata nu mai pierd. Pentru mai multe detalii despre cazurile se pot folosii functiile inline cred ca poti sa cauti pe google.


Titlul: Răspuns: Functii inline si alte chestii
Scris de: Cristian Strat din Martie 11, 2008, 01:00:09
Am incercat sa sectionez subiectul (din "Complexitate") si pe drum am pierdut post-ul offtopic al lui Andrei Misarca.

Greu cu forum-ul asta...  :)


Va rog sa discutati aici despre functii inline si alte chestii, nu pe thread-ul despre complexitate.


Titlul: Răspuns: Complexitate
Scris de: Mircea Dima din Martie 11, 2008, 10:06:29
am si io o intrebare... poate nu tine neaparat de complexitate, dar care e diferenta intre
Cod:
int main(void)
{
...
}
si
Cod:
int main()
{
...
}
si mai am o nelamurire... q ce sunt mai bune functiile inline si knd se pot folosi

functiile inline se folosesc cand ai functii mici care le apelezi de foarte multe ori, compilatorul copie codul acolo unde este apelata functie, castingandu-se astfel timp. Atentie : codul nu este copiat intotdeauna. Nu tre sa fie o functie recursiva, si am impresia ca nu trebuie sa contine nici loopuri. Spre exemplu imi fac o functie care imi calculeaza maximul a doua numere, functie pe care eu o apelez foarte mult. Atunci eu o sa pierd timp din cauza apelului la functie, insa dak pun inline in fata nu mai pierd. Pentru mai multe detalii despre cazurile se pot folosii functiile inline cred ca poti sa cauti pe google.


Functia inline poate fi recursiva... chiar am testat de multe ori si face diferenta ( la dfs, back)


Titlul: Răspuns: Functii inline si alte chestii
Scris de: Bogdan-Cristian Tataroiu din Martie 11, 2008, 10:27:26
Nu poate contine loop-uri in Borland doar... Poate fi recursiva in gcc si se poate seta o limita de adancime in care sa se expandeze functia.

Daca nu-ti da warning atunci se expandeaza.


Titlul: Răspuns: Functii inline si alte chestii
Scris de: Andrei Misarca din Martie 12, 2008, 13:30:46
Multzam fain... si scuze pentru amplasarea intrebarii in topicul despre complexitate  #-o