Thing is there is no best compiler as this comes down to personal preference, but MSVC++ is not a bad choice and the IDE is strong.
- I can only guess that Visual C++ is the best compiler to be using ?
- Which DirectX would I require and where do I get it ? There are so many different versions it's all confusing, I believe I should be getting a DirectX SDK ? The latest I found linked to something to do with Windows 8, I don't even want to go near Windows 8 or they "Windows store" and whatnot.
- Just to make it clear, DirectX is free for whatever use right ?
- Where would I find an up-to date tutorial, dealing with C++ ? Most are outdated and based on C.
You would need to use DX11 there is not point in learning the older versions, if you are on Windows 8 just get the Windows 8 SDK and Direct X is included. Any other version of windows after vista get the DirectX SDK latest of this is June 2010. Both can be gotten from the MSDN website and are free.
If you do want to use DX11.1 features of the latest GPU's you are going to have to get the windows 8 SDK sadly as that is the only way to get at the features. Getting the Windows 8 SDK by the way in now way means you need to have windows 8 or aren't able to develop for past versions of windows, it just means you have the latest API for windows installed.