I know what is static keyword means for functions. But I cant understand what is inline keyword means for function. I know that inline function is a function that is expanded in line when it is called. But inline its offer for compiler, he can ignore it. And perhaps compiler can optimize some functions and make it inline.
1) So why I need to declare functions inline, if compiler know better than me when need to function be inline, and when not ?
2) And I know inline functions have "external linkage" or something like that. what its mean ?
3) Does it make sense declare some functions inline static ?