O'Reilly logo
  • Tzuhao Kuo thinks this is interesting:

There are two special cases in the world of pointers. One is void* pointers, because there is no way to dereference them, to increment or decrement them, etc. The other is char* pointers, because they typically represent pointers to C-style strings, not pointers to individual characters. These special cases often call for special handling, and, in the case of the processPointer template, let’s assume the proper handling is to reject calls using those types. That is, it should not be possible to call processPointer with void* or char* pointers.


Cover of Effective Modern C++


Special pointer type: 1) void and 2) char.