当前位置: 首页 > ops >正文

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

http://www.xdnf.cn/news/17259.html

相关文章:

  • WiFi 核心概念与实战用例全解
  • 17.14 CogVLM-17B多模态模型爆肝部署:4-bit量化+1120px高清输入,A100实战避坑指南
  • SimpleMindMap:一个强大的Web思维导图
  • CVRF 是什么?微软弃用 MS 编号后,网络安全的下一个标准
  • 【面经】2025年软件测试面试题,精选100 道(附答案)
  • 为什么通过CreateThread创建的线程调用C/C++运行库函数不稳定
  • 交换机100G模块远距离连接踩坑记录
  • Vibe coding现在能用于生产吗?
  • “鱼书”深度学习进阶笔记(1)第二章
  • 弱电+机房+设备+运维资料合集方案(Word+PPT)
  • trae开发c#
  • Vue3 计算属性与监听器
  • 【MATLAB例程】联邦卡尔曼滤波,主滤波与子滤波融合GPS、IMU、里程计多传感器数据。提供源代码下载链接
  • Zabbix网络发现:自动化监控新利器
  • apiSQL网关调优:释放单节点的最大潜能
  • Trackio:面向机器学习者的本地优先、开源免费的轻量级实验追踪新工具
  • (Arxiv-2025) CINEMA:通过基于MLLM的引导实现多主体一致性视频生成
  • Docker 从入门到实战(一):全面解析容器化革命 | 2025 终极指南
  • Vue 3.2+ 引入的指令 v-memo 性能优化
  • 书生浦语第五期-L1G3-LMDeploy 课程
  • Mac 电脑放在环境变量中的通用脚本
  • Mac下安装Conda虚拟环境管理器
  • 2025小程序怎么快速接入美团核销,实现自动化核销
  • 防火墙概述
  • GPT-OSS重磅开源:当OpenAI重拾“开放”初心
  • 新手向:Python实现图片转ASCII艺术
  • Cell-cultured meat: The new favorite on the future dining table
  • 【昇腾】基于RK3588 arm架构Ubuntu22.04系统上适配Atlas 200I A2加速模块安装EP模式下的驱动固件包_20250808
  • [202403-E]春日
  • Function + 异常策略链:构建可组合的异常封装工具类