The trigonometric math funcions live in cmath, now the question could be asked if the c standard library is part of the c++ template library; i thought that containers, iterators, algorithms etc. make up the STL, but i am probably wrong ?
The constants in @alvaro's version need not be computed on every function call (just sayin' :-)). Some of them are constants that live in the math library anyway. Or they can be precomputed with ludicrously high precision if necessary.
Speaking of templates, i find it nice to have the possibility of using the datatype that's appropriate for a situation without having to cast around. The implicit casts between int and float from the example may actually affect the outcome. Also, the fixation to float may be limiting.
Searching the web, there seem to be a plethora of possibilities to calculate trigonometry with speed xor precision.
Sparing 0.08 seconds on 10 million function calls (debug build, i7 3.6Ghz) isn't decisive for my situation. I'd rather shift functionality that needs a trig call (angle of view only as an example that comes to my mind) out of each iteration of the mainloop to the situation when the user actually changes the zoom. Trigonometry needed for meshes for example isn't decisive for execution time (done offline or asynchronously on load) but needs precision. Edit: camera view angle is computed (usually) 60 times per second. Trig calls aren't decisive there too i'd think.
The gnu scientific library, and probably others like Octave and similar sdks, offer different ways to calculate almost everything, mostly aimed at higher than "normal" precision.
But then again, it may be a sport to do these things on foot. I understand that ?