Programowanie
Rosa: Cześć czy mógłby mi ktoś w prosty sposób wytłumaczyć co znaczą w programowaniu c++ przedrostki
inline oraz volatile ?
9 wrz 22:34
__std__call__: Inline − ten przedrostek powoduje, że w miejscu wywołania funkcji zostaje w sposób niejawny
rozwinięta definicja tej funkcji. Np:
inline int suma(int a, int b) {return a + b;}
int main() {
int x = suma(1, 5); //1.
}
1. wywołanie funkcji suma zostaje zastąpione przez a + b; Po prostu funkcja inline działa
niczym makrodefinicja preprocesora. Zaletą jest brak narzutu w postaci wywołania instrukcji
wywołania funkcji. Innymi słowy − w miejscu wywołania zostaje "wklejona" definicja funkcji.
volatitle − powoduje, że kompilator uważnie baczy na tę zmienną − nie wykonuje żadnych
optymalizacji ponieważ informujemy go, że wartość zmiennej z takim przedrostkiem może nagle
ulec zmianie.
9 wrz 23:22
Trivial:
inline to tylko sugestia dla kompilatora tego, co podał std. Kompilator równie dobrze może
ją zignorować (i tak się często dzieje).
9 wrz 23:46