Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Using type definitions (typedef) can often improve code readability.   However, type definitions to pointer types can make it more difficult to write const-correct code because the const qualifier will be applied to the pointer type, not to the underlying declared type.

...

The following type definition improves readability at the expense of introducing a const-correctness issue. In this example, the const qualifier applies to the typedef itself instead of applying to the underlying object type. Consequently, func does not take a pointer to a const struct obj but instead takes a const pointer to a struct obj.

...

Note that many structures in the Win32 API are declared with pointer type definitions but not pointer-to-const  type definitions (LPPOINT, LPSIZE, et al.and others). In these cases, it is suggested that you create your own type definition from the base structure type.

...