matematykaszkolna.pl
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