> What precisely do you mean by policy,
> and are there any prerequisite concepts for understanding what a policy is?
It is a general (and therefore somewhat vague) concept. The idea is that many components involve two aspects: infrastructure (which is relatively stable, less likely to change over time), and policy (the 'logic'
which uses the infrastructure, something that is expected to be easily changeable). A few examples may help:
The main entrance to a building is infrastructure; the time at which an office remains open is policy.
The X11 server (protocol and graphics primitives) provides infrastructure, the desktop environment (what happens when I double-click on the title bar) specifies policy.
The Windows kernel implememnts infrastructure, lsass.exe is a user mode process that provides security policy.
The strategy design pattern is an example of the principle: achieve greater flexibility by separating policy from infrastructure, and allow policy and infrastructure to vary independently of each other.
> For instance, you could hardcode a look up table instead of calculating values at run-time
Even when a look up table is used, the programmer has a choice: whether or not to hard code its contents.
But, yes; hardcoding things isn't always bad.
Mercifully, cplusplus.com doesn't seem to have a hard-coding is 'evil'
article as yet.