No. The compliation process destroys all metadata, including variable names, and the optimisation process makes it difficult to recover even a pseudocode replica of the original source.
Here's a highly simplified example. Let's say you write "foo++", where foo is an int. Depending on the compiler, this could compile to any of the following:
inc dword ptr [esp+12h] - foo is kept as a local on the stack 
inc dword ptr [00000f00h] - foo is a heap variable 
add dword ptr [00000f00h], 1 - another way to increment 
mov eax, dword ptr [esp+12h]; inc eax - move from the stack in to eax, then increment 
- etc...
 
The possibilities are practically endless.
Your best bet is to look into something like Hex-Rays Decompiler, though it isn't cheap. It works with IDA to produce pseudo-C code, which you can use to discover how particular functions and routines work.