I am just beginning to learn C++ and I am on a mac. I am wondering why I have to put std:: in front of cout to trace something. (Please dont say anything like "you need to get a windows", or "use parallels", I need to learn it in Xcode)
I wouldn't call this a problem as much as a useful feature. What happens if you want to create a class named "vector" and someone decides to use your class with the "vector" defined in <vector>? Since the latter is in the std:: namespace, it prevents a naming conflict (unless you put usingnamespace std; somewhere relevant in your code).