引例:

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

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 ;
}

当然还有一种方法:

在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 ;
}

其实还有种更简便的方法,就是直接使用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 ;
}

参考资料:星云博客园

【C++】std::是什么?的更多相关文章

  1. 【NX二次开发】NX内部函数,libuifw.dll文件中的内部函数

    本文分为两部分:"带参数的函数"和 "带修饰的函数". 浏览这篇博客前请先阅读: [NX二次开发]NX内部函数,查找内部函数的方法 带参数的函数: void U ...

  2. C++ std::set

    std::set template < class T, // set::key_type/value_type class Compare = less<T>, // set::k ...

  3. C++ std::priority_queue

    std::priority_queue template <class T, class Container = vector<T>, class Compare = less< ...

  4. C++ std::queue

    std::queue template <class T, class Container = deque<T> > class queue; FIFO queue queue ...

  5. C++ std::multimap

    std::multimap template < class Key, // multimap::key_type class T, // multimap::mapped_type class ...

  6. C++ std::map

    std::map template < class Key, // map::key_type class T, // map::mapped_type class Compare = less ...

  7. C++ std::list

    std::list template < class T, class Alloc = allocator > class list; List Lists are sequence co ...

  8. C++ std::forward_list

    std::forward_list template < class T, class Alloc = allocator > class forward_list; Forward li ...

  9. C++ std::deque

    std::deque template < class T, class Alloc = allocator > class deque; Double ended queue deque ...

  10. C++ std::array

    std::array template < class T, size_t N > class array; Code Example #include <iostream> ...

随机推荐

  1. Mongodb的入门(8)mongodb事物分析

    老生常谈:<在前面博客中也介绍过> mongodb官网:https://docs.mongodb.com/manual/introduction/ mongodb:官网上是这样定义的Mon ...

  2. linq Distinct 自定义去重字段

    一.定义 1.Falcon_PumpX_Equal_Comparer :类名,随便取名 2.IEqualityComparer:必须继承这个接口 3.Falcon_PumpX:需要去重的对象 4.IE ...

  3. centos7下rsync+crontab定期同步备份

    最近需求想定期备份内部重要的服务器数据到存储里面,顺便做个笔记 以前整过一个win下的cwrsync(客户端)+rsync(服务端:存储)的bat脚本 这次整一个Linux下的脚本sh,执行定期自动备 ...

  4. RTX服务端用户数据迁移说明

    步骤一 最好在没有人使用RTX腾讯通的时候,这样你才能保证数据的实时同步;可以在服务器里面把RTX的相关服务器暂停再执行. 步骤二 进入RTX管理器用户数据----导出用户数据---还要把用户照片文件 ...

  5. Burp Suite 抓取http、https流量配置+CA证书安装

    HTTPS协议是为了数据传输安全的需要,在HTTP原有的基础上,加入了安全套接字层SSL协议,通过CA证书来验证服务器的身份,并对通信消息进行加密.基于HTTPS协议这些特性,我们在使用Burp Pr ...

  6. 修改Github上提交日志

    bash: git rebase -i HEAD~5:假定你要修改的日志位于当前版本(HEAD)的前4次提交中. vi: pick -> reword:在自动打开的vi编辑器中,上下选择你要修改 ...

  7. Linux 小知识翻译 - 「别名」

    实际上,「别名」被用在多种场合下.比如「命令的别名」,「邮件地址的别名」等等. 所以,单独说「别名」的时候,根据不用的场合,代表的意思也不一样. 一般来说,「别名」是指意思差不多的东西. 「别名」的英 ...

  8. 5、爬虫之scrapy框架

    一 scrapy框架简介 1 介绍 Scrapy一个开源和协作的框架,其最初是为了页面抓取 (更确切来说, 网络抓取 )所设计的,使用它可以以快速.简单.可扩展的方式从网站中提取所需的数据.但目前Sc ...

  9. SA-题目

    SA的题目 差异:https://lydsy.com/JudgeOnline/problem.php?id=3238 题意概述:给定一个长度为 $n$ 的字符串 $S$,令 $T_ i$ 表示它从第 ...

  10. M100 对频