0.0f forces the number to be treated as a single precision floating point number (float). Normally, you'd only use this for assigning to a float:
float xxx = 0.0f;
When you do:
double xxx = 0.0;
It uses the standard, which is equivalent to:
double xxx = 0.0l; // long double
For full details, see
Literals (C++) , and more specifically,
C++ Floating-Point Constants .
However, since a float can be assigned to a double and widens automatically, in your case, you get the same value.
Reed Copsey, Jr. -
http://reedcopsey.com