As far as I know, a language with less keywords lends itself to a faster parser. That's the motivation behind using "auto" for type inference in C++0x, "auto" is already a keyword.
The difference is negligible. Complexity of grammar (not the same thing) is probably the big cost factor. The big thing there is usually ambiguity of a statement within a single context that has to be resolved. Static is not such a case because there are three distinct contexts. But when a parser has to read many tokens ahead just to figure out where you're going with a term, that's what slows things down.
At least the third meaning is deprecated in favor of anonymous namespaces.
The other two are essentially the same just within class or function scope. Of course, they're essentially just global state of a sort, but they sure do come in useful at times.
8 comments
[ 2.5 ms ] story [ 31.2 ms ] threadIn a function: the value of the variable stays with the function, i.e. it doesn't change between calls.
In a class: the value of the variable stays with the class, i.e. it doesn't change with the creation of new objects.
In a file: the value of the variable stays within the file, i.e. it can't be changed (or seen) from outside the file.
Now some templates, on the other hand, seem to be from another dimension.
The other two are essentially the same just within class or function scope. Of course, they're essentially just global state of a sort, but they sure do come in useful at times.