What's the best way to force the user of a C++ function to acknowledge the semantic meaning of parameters that are numerical constants?
<p>I'd like to write function interfaces that force the user to acknowledge the semantic meaning of built-in constants. For example, I'd like to take</p>

<pre><code>void rotate(float angle); // Rotate the world by an angle in radians.
</code></pre>

<p>and change it to</p>

<pre><code>void rotate(Radians angle);
</code></pre>

<p>Am I right in believing that the problem with making a Radians class is that it adds code and makes the program slower. Is there a better way to do this?</p>
