C++学习---三段斗之气篇


我的个人学习网站 www.liujianhua.xyz 欢迎访问、传播!!

“Pico,斗之气三段!”
台下议论纷纷:
“要不是他爹是族长,这种废物,早就安排到家族底层去了“…

咳咳,跑题了

今天开始学习C++,80节课时,准备使用一周以内的时间学会基本语法,由于有较为扎实的C语言基础(语法),写下一系列博客记录C语言与C++基本语法不同之处。
首先,用C++输出Hello World!

#include <iostream>
using namespace std;
int main()
{
	cout << "Hello World!" << endl;
	system("pause");
	return 0;
}

在这里插入图片描述
我们从上往下依次看这段代码

头文件

1、头文件与C语言相似有略有不同,这里iostream头文件看名字就大概明白了,包括基本的输入输出库函数(IO函数)等,与C语言的<stdio.h>作用相同

独特的命名空间

这应该是第一个与C语言大不相同的地方,
using namespace std;打开(使用)一块命名空间,这里是内部空间std,后面的对象cout ,cin等就命名在这块空间里,
如果开头没有打开命名空间,那后面C++程序基本上就不能运行了。作为程序猿这个最重要的功能就是区别同名变量或函数。

命名空间的创建

使用代码namespace ;即可创建命名空间,在这块命名空间里可以定义函数、变量、结构体等等等,命名空间可以创建多个。例如在两块空间里命名一样的函数和常量:

namespace pico
{
	void fun()
	{

	}
	int a = 1;
}
namespace seveo
{
	void fun()
	{

	}
	int a = 1;
}

重命名了吗??其实没有,编译能顺利通过,说明C++允许这样做,因为两个函数和变量是定义在两个地方的。
例如,有两个同名的人,一个在1班,一个在2班,那么这两个人在各自班上无论做什么对另一个人都是没有干扰的。

命名空间的打开

using namespace std;打开(使用)一块命名空间,这里是内部空间std,后面的对象cout ,cin等就命名在这块空间里,
若要使用fun();函数和a变量,那也要使用此命令打开
using namespace pico;
using namespace seveo;
在后面才能继续使用它们,注意打开命令应该在创建命令的后面
另外
还可以指定打开某个特定成员,使这个成员可以在其他地方使用,而其他成员依旧不能使用:
using pico fun;开放pico里的fun函数
using seveoa;开放pico里的a变量
作为程序猿这个最重要的功能就是区别同名变量或函数。

命名空间的使用

那现在我相信你一定有疑问了,如果两个命名空间都打开了,当调用函数fun的时候编译器咋知道是哪个fun呢????
别急,C++还有专门的符号指明的

pico::fun();
seveo::fun;

第一行调用的是pico命令空间的fun函数;
第二行调用的是seveo命令空间里的fun函数;
变量的调用一样的规则,中间两个冒号。
现在对于它的作用还不清楚,但后面大的项目会非常有用;

输入与输出

输出

cout << “Hello World!” << endl;
这是C++的输出,cout,与C语言里面的printf()作用相同,即将字符输出到控制台,后面接<<,可以连续输出,例如想要输出
Hello World!1
代码实现为

cout << "Hello World!" << pico::a << endl;

相信到这里cout的基本功能应该能明白了,
还有endl,宏观上与换行符’\n’差不多,但是实际上有细微的差别:endl可以清空缓冲区,具体缓冲区说明请看友链缓冲区详解。但是’\n’不会清空缓冲区。导致输出速度有差异。
endl会立即输出,而’\n’在不同系统上输出会有差异,举例:

cout << "Hello World!" << endl;
int b = 1;
cout << "Hello World!" << '\n';
int c = 1;

从输出结果上看并没有差异,但是注意了,
----当第一行代码运行到endl的时候,识别到此对象,立即清空缓冲区,并立刻输出。
----当运行到第三行代码的’\n’的时候,输出’\n’进缓冲区,同时在这一瞬间,输出窗口里并没有显示,当运行到int c = 1;的时候,程序才意识到输进缓冲区结束,同时输出到窗口,且不会清空缓冲区。
这一点差异太小,我们平时写程序的时候可能意识不到,也无法调试,因为这点时间差异人眼无法观测到,但是应该清楚这一点,遇到问题的时候能想到。

输入

输入使用cin,与cout用法相似,话不多说,看代码:

    int a;
	char b;
	cin >> a >> b;
	cout << a <<"   "<< b << endl;
	cout << "Hello World!" << '\n';

相对于C语言的 scanf,C++的cin似乎要更加智能,它可以自动识别输入的类型,不用转换符%d,%c等,但是必须一一对应,不然也会出错。同时也得记住,它不是函数或关键字,而是对象!
输入1和P,输出结果为:
在这里插入图片描述
第一段就到这,后面会持续更新,记录我的C++学习之路。
**

我是Pico

**

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值