001. c++入门----cout操作符

第一个c++程序

一、cout :
cout是一个输出流对象,它是“console out”(控制台输出)的缩写,是属于basic_ostream类的对象。ostream类在iostream头文件中定义。 (输出ostream类 输入istream类)

二、操作符号<<
c语言中<<是左位移操作符,为什么在c++中表现为“流”,这里涉及到c++的一个特点:支持重载

三、using namespace std; //命名空间std:
std就是c++标准库中所使用的所有标识符都是在同一个特殊的命名空间(std)中来定义的如果没有这条命令可以使用std::cout来调用输出流对象。
当我们将using namespace std;注释掉时会发现出现以下错误;

/home/cmf/CLionProjects/untitled1/main.cpp:10:5: error: ‘cout’ was not declared in this scope
     cout << "结果是:" << addArray(data, size) << endl;
/home/cmf/CLionProjects/untitled1/main.cpp:10:55: error: ‘endl’ was not declared in this scope
     cout << "结果是:" << addArray(data, size) << endl;
     //因为endl和cout都属于标准库里,像cout属于iostream头文件中的

C++中命名空间的作用类似于操作系统中的目录和文件的关系,由于文件很多,不便管理,而且容易重名,于是设立若干子目录,把文件放到不同的子目录中,不同子目录中的文件可以同名,而调用文件时应指出文件路径。
命名空间的作用是建立一些相互分隔的作用域,把一些全局实体分隔开来,以免产生名字冲突。 可以根据需要设置多个命名空间,每个命名空间名代表一个不同的命名空间域,不同的命名空间不能同名。这样可以把不同的库中的实体放到不同的命名空间中,或者说,用不同的命名空间把不同的实体隐蔽起来。过去我们用的全局变量可以理解为全局命名空间,独立于所有有名的命名空间之外,它是不需要用namespace声明的,实际上是由系统隐式声明的,存在于每个程序中。

对一个整型数组求和,要求:定义一个存储着n个元素的数组,要求用c语言完成这个任务

//c++
#include <iostream> 
//<iostream.h>是为了c92标准中为了兼容,现在c99标准不需要这样,下文备注有详解 

using namespace std; //名字空间

int addArray(int *array, int n);
int main()
{
    int data[] = { 0,1,2,3,4,5,6,7,8,9 };
    int size = sizeof(data)/sizeof(data[0]);
    cout << "结果是:" << addArray(data, size) << endl;//endl表示结束
    // =  std::cout << "结果是:" << addArray(data, size) << std::endl;
    return 0;
}

int addArray(int* array, int n)
{
    int sum = 0;
    int i;
    for (i = 0; i < n; i++)
    {
        sum += *array++ ;
    }
    return sum;
}
结果:
/home/cmf/CLionProjects/untitled1/cmake-build-debug/untitled1
结果是:45
Process finished with exit code 0

备注:

  1. #include和#include<iostream.h>的区别
    区别在于:
    如果用了isotream则一定要引入命名空间,即 using namespace std
    如果用了iostream.h,则不能引入命名空间,否则会引起编译错误,提示找不到命名空间.
    从功能性的角度来讲,iostream包含了一系列模板化的I/O类,相反地 iostream.h只仅仅是支持字符流。
    另外,输入输出流的C++标准规范接口在一些微妙的细节上都已改进,因此,iostream和iostream.h在接口和执行上都是不同的。
    最后,iostream的各组成都是以STL的形式声明的,然而iostream.h的各组成都是声明成全局型的。
    严格来说,不带h的用法是纯C++的标准用法,主要是配合STL库使用的。如果你的程序要使用C库,那么就要带.h。因此第一种和第二种写法,最大的区别在于你使用C模式还是纯C++模式。还有比如string.h是旧的C头文件,对应的是基于char*的字符串处理函数;string是包装了std的C++头文件,对应的是新的strng类;cstring是对应旧的C头文件的std版本。

    2.c++标准库
    在这里插入图片描述
    参考文章:#include和#include<iostream.h>的区别
    参考文章C++标准库的学习笔记

  • 6
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值