zoukankan      html  css  js  c++  java
  • 【C++】std::是什么?

    引例:

    #include<iostream>
    int main()
    {
        std::cout<<"我喜欢C++";//输出一句话
        std::cout<<std::endl;//换行
        return 0;
    }

    1.std是什么?

            std::    是个名称空间标示符,C++标准库中的函数或者对象都是在命名空间std中定义的,所以我们要使用标准函数库中的函数或对象都要使用std来限定。

             对象count是标准函数库所提供的对象,而标准库在名字空间中被指定为std,所以在使用cout的时候要加上std::。这样编译器就会明白我们调用的cout是名字空间std中的cout。             

    2.为什么将cout放到名字空间std中?

    是因为像cout这样的对象在实际操作中或许会有好几个,比如说你自己也可能会不小心定义了一个对象叫cout,那么这两个cout对象就会产生冲突。

    3.std都是什么时候使用?

       一般来说,std都是要调用C++标准库时,要写上std;

       使用非标准库文件iostream.h,不用写。

    比如上面引例这样改写就不需要std:

    #include<iostream.h>
    int main()
    {
        cout<<"我喜欢C++";//输出一句话
        cout<<endl;//换行
        return 0;
    }

    当然还有一种方法:

    在main函数的上面使用了两行语句:

    using std::cout;
    using std::endl;

    那么cout和endl前面就不需要std::

    比如这样改写引例:

    #include<iostream>
    using std::cout;
    using std::endl;
    int main()
    {
        cout<<"我喜欢C++";//输出一句话
        cout<<endl;//换行
        return 0;
    }

    其实还有种更简便的方法,就是直接使用using namespace std来代替using std::cout和using std::endl。

    using namespace std 告诉编辑器我们将要使用空间std中的函数或者对象。

    所以cout和endl前面不用注明它们是std这个名字空间中的cout和endl。

    #include<iostream>
    using namespace std;
    int main()
    {
        cout<<"我喜欢C++";//输出一句话
        cout<<endl;//换行
        return 0;
    }

    参考资料:星云博客园

  • 相关阅读:
    <html>
    poj 2676 Sudoku
    百亿互金平台救火故事
    Retrofit三步理解之中的一个 ------------------ Retrofit的简单使用总结
    精简版—愤慨的小鸟
    POJ 1095 Trees Made to Order
    Android Studio 错误: 非法字符: &#39;ufeff&#39; 解决方式|错误: 须要class, interface或enum
    使用CodePush实时更新 React Native 和 Cordova 应用
    获取url地址参数
    利用jQuery 通用文件导出前端实现,MVC文件导出
  • 原文地址:https://www.cnblogs.com/mhq-martin/p/8604842.html
Copyright © 2011-2022 走看看