【捡起C++】开始学习C++

C++预处理器和iostream文件

​ 如果程序要使用C++输入或输出工具,需提供这样两行代码

#include<iostream>
using namespace std;

​ 可使用其它代码替换第二行,这么使用可以简化代码。

C++和C一样,也使用一个预处理器,该程序在进行主编译前对源文件进行处理, 它处理名称以#开头的编译指令。在编译程序时,自动执行。

#include<iostream>

​ 该编译指令使预处理器将iostream文件的内容添加到程序中。这是一种典型的预处理器操作:在源代码被编译之前,替换或添加文本。

为什么需要将iostream文件的内容添加到程序中呢?

C++的输入、输出涉及iostream文件中的多个定义。
#include编译指令将iostream文件内容随源代码文件的内容一起发送到编译器。实际上,iostream文件内容将取代程序中的代码行#include<iostream>。原始文件没有修改,而是将源代码文件和iostream组合成一个复合文件,编译的下一个阶段将使用这个文件。
名称空间

​ 如果使用iostream,而不是iostream.h,则应使用下面的名称空间来使iostream中的定义对程序可用: using namespace std;

​ 名称空间支持是C++的一项特性。编写大型程序时,存在一个潜在的问题,可能使用两个已封装好的产品,而他们都包含一个名为wanda()的函数。这样使用wanda()函数时,编译器不知道使用哪个版本。将产品封装到名称空间里,可以使用名称空间的名称指出想使用哪个厂商的产品。

	Microflop::wanda()   //use Microflop namespace version
    Piscine::wanda()     //use Piscine namespace  version

​ 按照这种方式,类、函数和变量便是C++编译器的标准组件,它们现在都被放置在名称空间std中。**仅当头文件没有扩展名h时,情况才如此。**在iostream中用于输出的cout变量实质是std::cout,而endl实质是std::endl。

​ using namespace std;

​ 这个using编译指令是一种偷懒的方法,使得std名称空间中的所有名称都可用。更好的方法是,只使所需的名称可用

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

使用cout进行C++输出

​ cout对象有一个简单的接口,如果string是一个字符串,则下面的代码将显示该字符串:

cout << string;

​ 从概念上看,输出是一个流,即从程序流出的一系列字符。 cout对象表示这些流,其属性是在iostream文件中定义的。 cout 对象属性包括一个插入运算符 << ,它可以将其右侧的信息插入到流中。

cout << "come up and c++ me some time"

​ 它将字符串“come up and c++ me some time.”插入到输出流中。 因此与其说程序显示了一条信息,不如说是将一个字符串插入到输出流中

声明语句和变量

​ 要将信息存储到计算机中,必须指出信息的存储位置和所需的内存空间。

​ int carrots;

​ 这条语句提供了两项信息,需要的内存以及该内存单元的名称

​ 具体地说,这条语句指出程序需要足够的存储空间来存储一个整数,在c++中用int表示整数。编译器负责分配和标记内存的细节。C++可以处理多种类型的数据,而int是最基本的数据类型。

​ 完成的第二项任务是给存储单元指定名称,在这里,该声明语句指出,此后程序将使用名称carrots来标识存储在该内存单元中的值。

​ cout << carrots;在打印之前,cout会将整数形式的数字转换为字符串形式

使用cin

​ cin >> carrots;

​ 与cout类似,iostream文件将cin定义为一个表示这种流的对象。输出时,<<运算符将字符串插入到输出流中;输入时,cin使用 >> 运算符从输入流中抽取字符。

​ 与cout一样,cin也是一个智能对象。它可以将键盘输入的一系列字符转换为接收信息的变量能够接受的形式。

类简介

​ 类是用户定义的一种数据类型。类之于对象就像类型之于变量。类定义描述的是数据格式及其用法,而对象则是根据数据格式规范创建的实体。

让程序能够访问名称空间std的方法有多种,下面是其中的四种

  • 将using namespace std;放在函数定义前,让文件中所有的函数都能够使用名称空间std中的所有元素。

  • 将using namespace std;放在特定的函数定义中,让该函数能够使用名称空间std中的所有元素。

  • 在特定的函数中使用类似using std::cout;这样的编译指令,而不是using namespace std;,让该函数能够使用指定的元素,如cout。

  • 完全不使用编译指令using,而在需要使用名称空间std中的元素时,使用前缀std::,如下所示:

    std::cout << “ssss”;

C++语句类型:

  • 声明语句:定义函数中使用的变量的名称和类型
  • 赋值语句:使用赋值运算符(=)给变量赋值
  • 消息语句:将消息发送给对象,激发某种行动。
  • 函数调用:执行函数。被调用的函数执行完毕后,程序返回到函数调用语句后面的语句。
  • 函数原型:声明函数的返回类型、函数接受的参数数量和类型
  • 返回语句:将一个值从被调用的函数那里返回到调用函数中。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值