So I've been writing a lot of c++ on visual studio for the past year, I'm still I guess at a generally basic level. My question though is I will be taking computer science in the fall as my major, should I not use visual studio? From what I've been told and read is that it uses a lot of things that are only usable on windows? Am I hurting myself by using visual studio?
Well currently I'm at a different school taking computer science classes, which will transfer to the University that I plan on going to. Everything that I have written so far runs in command prompt, however I've noticed some libraries will only work on Visual Studio. For instance conio.h which I used _getch() to have my cmd window stay open after the program runs through instead of closing.
Personally I believe it's okay, because you're writing C++ in the help of some utility libraries. You can replace them easily in different environments.
What really hurts, is to use the frameworks (bigger libraries).
Anyway, again, listen to your professor - use what he/she told you.
What will 'hurt' you is blindly using things. You can learn a lot from MFC if you study it... look at the how and why of it rather than just use it (this goes for a lot of libraries and frameworks).
One thing to pay attention to with Visual studio is the initial project type, know that the CLR templates are C++/CLI this is notC++.
Visual Studio is a good IDE but you still need to understand what you are doing with it rather than let it just do things for you.
I've been told and read is that it uses a lot of things that are only usable on windows?
That's not necessarily true. Visual Studio can be used to build "pure" C++ standards compliant programs with no reliance on Windows or other Microsoft specific goodies.
As others have said, listen to what your professor tells you to use.
I recommend that anyone who is learning Standard C++ and who uses Windows for a primary development environment should use two compilers: the most modern version of Microsoft Visual C++ (currently 2015) and the most modern version of GCC, the GNU Compiler Collection. Using two compilers that conform closely to the Standard subjects your code to more strenuous trials than using a single compiler would. - STL https://nuwen.net/mingw.html