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 单独跟在 << 后面来进行输出,不能将变量跟在 " " 后面,这会引起系统报错,具体原因在学到后续更深入情况下进行解释。

相关推荐
机器学习之心1 小时前
多目标鲸鱼优化算法(NSWOA),含46种测试函数和9个评价指标,MATLAB实现
算法·matlab·多目标鲸鱼优化算法·46种测试函数·9个评价指标
西阳未落2 小时前
C++基础(21)——内存管理
开发语言·c++·面试
max5006002 小时前
基于Meta Llama的二语习得学习者行为预测计算模型
人工智能·算法·机器学习·分类·数据挖掘·llama
超级大福宝2 小时前
使用 LLVM 16.0.4 编译 MiBench 中的 patricia遇到的 rpc 库问题
c语言·c++
wangjialelele2 小时前
Linux中的线程
java·linux·jvm·c++
王哥儿聊AI3 小时前
Lynx:新一代个性化视频生成模型,单图即可生成视频,重新定义身份一致性与视觉质量
人工智能·算法·安全·机器学习·音视频·软件工程
hsjkdhs4 小时前
万字详解C++之构造函数析构函数
开发语言·c++
SELSL5 小时前
SQLite3的API调用实战例子
linux·数据库·c++·sqlite3·sqlite实战
什么半岛铁盒5 小时前
C++项目:仿muduo库高并发服务器-------Channel模块实现
linux·服务器·数据库·c++·mysql·ubuntu
手握风云-5 小时前
优选算法的寻踪契合:字符串专题
算法