Le 29/03/2016 10:30, Edward Bartolo a écrit :
Sometimes, a generic pointer is very useful. For instance, the Windows
API documents functions that have untyped pointers. These allow great
flexibility and behave like the variant type in other languages but
with efficient memory consumption. Delphi Pascal has both the variant
and untyped pointer types. This clearly shows there are advantages to
having the possibility of using untyped pointers. The Windows API
CreateProcess function is such an example.

Using pointers to untyped arguments is loose programming. It is like removing the handrail of your balcony to unhide the view. It gives good looking code which is easier to write and read but deadly error-prone. This is definitely non-professional.

In case it's really worth the pain, you can use polymorphic variables in C: a struct containing a discriminant and a union, the discriminant indicating which member of the union to use. The actual implementation of an object is probably not different of this, with the difference that the compiler and the run-time library perform the discrimination and checking for you, which is safer of course.

    Didier

_______________________________________________
Dng mailing list
Dng@lists.dyne.org
https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng

Reply via email to