Here's an example where <cstdio> & <cstring> are required, but VC++ compiles it anyways. They're probably included in <iostream> because if you remove that, you get the expected errors.
Code:#include <iostream> //#include <cstdio> //#include <cstring> using namespace std; int main() { char str[] = "fdsfsdfsdfs"; printf( "str has %d chars", strlen( str ) ); return 0; }