What is this 'restrict' thing I keep seeing in function declarations?
Examples:
Code:
FILE *fopen(const char *restrict pathname, const char *restrict type);
void setbuf(FILE *restrict fp, char *restrict buf);
I'm not sure if these are directly from the ISO C standard, I'm getting these from Advanced Programming in the UNIX Environment 2nd edition [ Stevens, Rago ]. I don't think I've ever seen these in C++, can someone explain this to me? Some man pages seem to describe functions like this, and others do not. Whats the story?