Technically speaking:
- it works
- it adds type safety
Practically speaking:
I would not recommend creating new types just for the sake of a single function's parameters (unless it is an enum specific to this function), types should permeate the application to avoid casts being used over and over.
If the types X
, Y
, Width
and Height
are used throughout the application, then not only will there be no cast, but your application will be much safer and much better documented too (yeah... I am a type freak).
Now, with regard to Boost.Parameters, this is completely different.
Boost.Parameters can (potentially) be added when you have types already in place. Honestly though I never saw the need. When your functions grow so unwieldy that Boost.Parameters is required to call them, you should fix the functions, not add to the clutter.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…