c++初学day1(类比C语言进行举例,具体原理等到学到更深层的东西再进行解析)

第一个代码(基本框架)

第一行中 #include<iostream>,是头文件(具体需要看看头文件中包含的内容,在此时因为编译时用的是网上搜的在线编译器,所以只是大概写写自己的理解),相当于C语言中的#include<stdio.h>

第三行中 using namespace std; 这一句的意思要引用一个名为std的命名空间 。命名空间是一个c++中常用的概念。在C语言除标准库外的库会定义有各种各样的关键字,在我们声明变量的时候,我们不能跟这些关键字冲突,否则编译器可能会报错,但是在C++中我们引入了一个叫命名空间的概念,我们可以很好的解决这个问题。

1.1什么是命名空间

命名空间(Namespace)是C++中的一种语言特性,用于将标识符(如变量名、函数名、类名等)组织到逻辑上独立的作用域中。它的主要目的是避免命名冲突,同时提供一种清晰的代码组织方式。简单来说,命名空间可以看作是一个"容器",用来存放代码中的各种标识符。我们常见的int、double、float类型的关键字,处于一个叫std的命名空间里面。

1.2命名空间的定义

对于命名空间的创建,我们需要使用c++中的关键字namespace来进行创建,具体如下:

这里的namespaceName是命名空间的名字,由程序员自己定义,比如:

这里我们定义了一个名为MyNamespace的命名空间,在这个空间里面我定义了一个名为rand的int型变量和doubleNum的double型变量。

1.3命名空间的引用

1.3.1 加命名空间名称及作用域限定符

使用格式 :

命名空间 :: 变量名

举例:

1.3.2 加命名空间名称及作用域限定符

使用格式:

使用using将命名空间中某个成员引入

--->什么是using关键字

using关键字相当于一种引用,它可以将命名空间或者命名空间里面的变量展开,如果说命名空间是一个被墙体包围起来的空间,那么using的作用就是把那座墙拆掉,我们可以直接访问里面的变量,当然我们也可以使用using单一的将命名空间里面的变量单个暴露出来。

举例:

1.3.2 加命名空间名称及作用域限定符

使用格式:

using namespace 命名空间名

举例:

此处的用法即为我们开头写的代码的第三行,这个用法可以直接使用相应命名空间里面的变量、关键字或者参数。

第六、七、九、十行是这个c文件的入口函数,和C语言一样,再次不做过多讲述。

第八行是c++里面的新概念。

其中cout是一个输出流对象,用于向标准输出设备(通常是控制台/在此我理解为终端)输出数据。在此理解如下:

1.cout是一个对象

2.它的作用是把通过 << 输入它的消息显示在屏幕上(具体怎么实现可以暂时不用了解。这就是面向对象的编程好处之一,你可以不需要理解它的内部工作原理,只要知道怎么用就行,在后续深入学习过程中进行理解)。

3.cout<<"hello world\n" 这句语句的含义就是把字符串"hello world"插入到输出流中去,插入之后对象cout 会自动想办法把插入的流显示到屏幕上。,\n"是换行字符,输入之后光标会自动换行.除此之外,还可以写成 cout << "hello world" << endl ; 在这句话中,endl 的作用相当于 "\n" ,区别是 "\n" 必须放在 " " 里面,而 endl 可以直接跟在 << 后面作为换行输出。

4.在输出变量时,一般的写法为:

其中,第十行的关键字 cin 的作用是从终端接受一个数字和一个字符分别给到int型的变量a 和char 型的变量 b 中,比如我们在终端输入 22 和字符 c ,随后用 cout 打印 ,注意在变量输出时直接将 a 单独跟在 << 后面来进行输出,不能将变量跟在 " " 后面,这会引起系统报错,具体原因在学到后续更深入情况下进行解释。

相关推荐
lifallen10 分钟前
HBase的异步WAL性能优化:RingBuffer的奥秘
大数据·数据库·分布式·算法·性能优化·apache·hbase
星期天要睡觉32 分钟前
机器学习——支持向量机(SVM)实战案例
笔记·算法·支持向量机
小立爱学习36 分钟前
Linux 内存管理之page folios
linux·c语言
Skylar_.1 小时前
嵌入式 - 数据结构:哈希表和排序与查找算法
数据结构·算法·嵌入式·哈希算法·散列表
破刺不会编程2 小时前
linux信号量和日志
java·linux·运维·前端·算法
汉汉汉汉汉3 小时前
C++中的继承:从基础到复杂
c++
科大饭桶3 小时前
Linux系统编程Day9 -- gdb (linux)和lldb(macOS)调试工具
linux·服务器·c语言·c++
黑色的山岗在沉睡3 小时前
【无标题】
数据结构·c++·算法·图论
Dream it possible!5 小时前
LeetCode 面试经典 150_数组/字符串_加油站(14_134_C++_中等)(贪心算法)
c++·leetcode·面试