Does it take long time to learn those pointers?
Most concepts you need to know to work safely with pointers are easy to learn but hard to make routine.
The bigger problem is not so much about how hard it is to learn, but how frustrated you will be when solving pointer-related bugs during that learning period. But everything takes practice, time, and chocolate cake.
And when you have learned to program C++. Is it as easy to program and make games with it, as C# XNA?
No. The advantage of C++ is that it lets you get closer to the metal and allows you full freedom.
If you don’t know what to do with the metal then it isn’t an advantage, and if you don’t use your freedom properly you may shoot your friend’s cousin’s mother in his or her left pinky’s intermediate phalanx, meaning this is actually a negative point rather than a positive point.
Is the develope speed slower? and incase how much?
That depends on how much reusable code you have written in the past.
If you are just starting out, that would be none, and development time will increase significantly. Easily by a factor of 3 or 4.
C++ is my favorite language and I prefer it over C# and especially over Java.
But when you are starting out you have to make decisions.
If you just want to get quick results, go with C#.
If you want to make better games and are willing to wait for that privilege, learn C++.
I personally didn’t see the world as black and white when I was growing up, so I learned C# in order to get happy results in the now while learning C++ in the background for a better tomorrow.
The options being discussed in this topic are not mutually exclusive. In fact it is trivial to learn both C# and C++ in parallel as they are so similar, which makes this topic mostly a non-issue or a false dichotomy.
L. Spiro