在c++中‘命名空间’是什么意思?‘std::’是什么意思?谢
3个回答
展开全部
举个例子吧,我们的名字,有很多时候会重名,比如张三.
世界上可能有几十几百个张三.
我们的世界里当然可以用身份证号码来分啦,但在没有身份证的时代怎么分呢?
有办法的,比如,可以在名字前面加上地方名,如
广东的张三
上海的张三
同样的道理,我们在编程时,不同的程序员可能都会喜欢用同样的名字来表示相同的东西,如,大家可能都会用dog来表示狗类.好了,现在有好几位程序员都写了dog类,可能各自的功能不同或相同.就好比好几家人都养了条狗一样.好了,在程序调用时,编译器傻了,它不知道该拉哪家的狗出来响应呀!
怎么办?哦,让我们在狗前面加上namespace(名字空间)以示区分,好了,于是程序中就有了
张三 的 狗
李四 的 狗
啰嗦了一大堆,该说回来了
std::
std表示是C++的标准命名空间,就是编译系统自带有的,按C++标准定义好了的。
:: 书写格式
比如,在使用输出std::cout时,如果它达不到我们想要的效果,我们也可以自己定义一个名字空间,
取名myspace,再在这个空间里写一个cout函数来实现.调用时,就成了myspace::cout.
世界上可能有几十几百个张三.
我们的世界里当然可以用身份证号码来分啦,但在没有身份证的时代怎么分呢?
有办法的,比如,可以在名字前面加上地方名,如
广东的张三
上海的张三
同样的道理,我们在编程时,不同的程序员可能都会喜欢用同样的名字来表示相同的东西,如,大家可能都会用dog来表示狗类.好了,现在有好几位程序员都写了dog类,可能各自的功能不同或相同.就好比好几家人都养了条狗一样.好了,在程序调用时,编译器傻了,它不知道该拉哪家的狗出来响应呀!
怎么办?哦,让我们在狗前面加上namespace(名字空间)以示区分,好了,于是程序中就有了
张三 的 狗
李四 的 狗
啰嗦了一大堆,该说回来了
std::
std表示是C++的标准命名空间,就是编译系统自带有的,按C++标准定义好了的。
:: 书写格式
比如,在使用输出std::cout时,如果它达不到我们想要的效果,我们也可以自己定义一个名字空间,
取名myspace,再在这个空间里写一个cout函数来实现.调用时,就成了myspace::cout.
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询