The first cout print the value at the address of f, the third cout print the memory address of f, and the second?
The second statement is printing the memory location of whatever the pointer is pointing to. In this case, it's the address of the memory you allocated for your integer using the new operator.