【探索C++】输入输出

  • (꒪ꇴ꒪ ),Hello我是祐言QAQ
  • 我的博客主页:C/C++语言,数据结构,Linux基础,ARM开发板,网络编程等领域UP🌍
  • 快上🚘,一起学习,让我们成为一个强大的攻城狮!
  • 送给自己和读者的一句鸡汤🤔:集中起来的意志可以击穿顽石!
  • 作者水平很有限,如果发现错误,请在评论区指正,感谢🙏


        在这篇博客中,我们将探讨 C++ 编程语言的基础知识,从 C++ 与 C 的区别开始,到 C++ 的优势命名空间以及输入输出等方面。

一、C++ 与 C 的区别

        虽然C++是C的超集,但二者之间存在许多关键区别。以下是一些主要的区别:

        1.面向对象:C++支持面向对象编程,这包括类,对象,继承,多态,封装等。而C语言是一个过程式编程语言,不支持这些特性。

// 一个简单的C++类示例
class Rectangle {int width, height;  // 私有成员变量public:void set_values (int,int);  // 成员函数int area() {return width*height;}  // 成员函数
};

        此外如果你对对向对象的理解还不够深刻或者无法理解他们,可以看看我的这一篇博客:

【探索C++】用实例教你理解面向对象编程(看不懂打我版)_祐言QAQ的博客-CSDN博客
        2.STL(Standard Template Library)模板库:C++有一个强大的标准模板库,提供了一些预定义的类和方法(函数),如向量,链表,集合,栈,队列,图等。C语言没有这样的库。

        3.异常处理:C++通过try、catch和throw关键字支持异常处理。而C语言没有内置的异常处理支持。

二、C++ 的优势

        C++是一种多范式编程语言,它具有诸多优势,包括:

        1.性能:C++的运行速度非常快,这使得它在需要大量计算的领域,如游戏编程,很受欢迎。

        2.面向对象:C++的面向对象特性使得代码更加模块化,更容易维护和复用。

        3.丰富的库支持:C++有大量的库和工具,可以处理各种任务,从图形用户界面到3D图形,从数据库操作到网络编程。

        4.强类型检查:C++ 在类型检查方面更加严格,可以减少很多常见的错误。

三、流

        在C++中,是一个抽象概念,用于处理输入/输出操作。想象一下现在有一条河流,而cin、cout等是河边垂钓者,数据就像是鱼,等待着这些垂钓者也就是流将其钓起。

常见的流有:

        cin(用于从标准输入读取数据);

        cout(用于向标准输出写入数据);

        cerr(用于输出错误消息); 

        clog(用于记录程序的一般信息)等。

#include <iostream>
using namespace std;int main() {int myNumber;// 使用 << 操作符将信息输出到cout流cout << "Please enter a number: ";// 使用 >> 操作符从cin流读取输入cin >> myNumber;cout << "Your number is: " << myNumber << endl;return 0;
}

四、命名空间

        命名空间是 C++ 中用于避免命名冲突的机制。通过将一组相关的变量、函数、类等放在命名空间中,可以有效组织代码。

#include <iostream>
using namespace std;  // 使用std命名空间int main() {cout << "Hello, World!";  // 实际上是std::coutreturn 0;
}

        如果你不想使用 using namespace std;你也可以直接使用 std:: 前缀来访问std命名空间中的元素:

#include <iostream>int main() {std::cout << "Hello, World!";return 0;
}

        当然你也可以自己写一个属于自己的命名空间,下面就举一个简单的例子,写一个自定义命名空间teacher,存放一个名字“小明”,然后打印出小明。

#include <iostream>using namespace std;namespace teacher {// 在命名空间里定义字符数组并初始化char name[20] = "xiaoming";// 命名空间内部可以定义任何内容
}int main() {// 因为 name 是定义在 teacher 命名空间里,所以要么先声明使用 teacher 命名空间,要么在 name 前面加上 teacher::cout << teacher::name << endl;return 0;
}

五、C++的输入与输出

        C++ 中的输入输出通过流来实现,可以使用 控制符“<<将数据输出到流中,使用控制符 >>” 从流中读取数据,这个<<看起来很像C中的移位操作符:左移,那么为什么在C++中就成了输出控制符了呢,实际上这就是C++的一个特点:重载,这里简单提一句,后续还会专门讲。

#include <iostream>
using namespace std;int main() {int age;cout << "Enter your age: ";cin >> age;cout << "You are " << age << " years old." << endl;return 0;
}

        这些是 C++ 中基础的输入输出操作,当然还有更多高级用法可以进一步探索。

        更多C/C++语言Linux系统数据结构ARM板实战相关文章,关注专栏:

   手撕C语言

            玩转linux

                    脚踢数据结构

                            系统、网络编程

                                     探索C++

                                             6818(ARM)开发板实战

📢写在最后

  • 今天的分享就到这啦~
  • 觉得博主写的还不错的烦劳 一键三连喔~
  • 🎉🎉🎉感谢关注🎉🎉🎉

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/90351.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

nuxt3+ts+vue3的ssr项目总结

目录 一、什么是SSR、SEO、SPA&#xff0c;它们之间的关系又是怎样的。 二、VUE做SSR的几种方法 1、插件prerender-spa-plugin 2、VUE开启SSR渲染模式 3、使用NUXT框架 三、NUXT3VUE3TS &#xff08;一&#xff09;基本配置 1、文件夹介绍 assets components pages…

2023年数字孪生行业研究报告

第一章 行业概况 1.1 定义 数字孪生&#xff08;Digital Twin&#xff09;是一种先进的建模技术&#xff0c;它通过创建一个物理实体的虚拟复制品&#xff0c;以实时模拟、预测和优化实体的行为和性能。这个虚拟模型会同步收集和分析来自其物理对应物的数据&#xff0c;从而提…

Matlab图像处理-图像缩放

基本概念 图像缩放是指将给定的图像在x轴方向按比例缩放a倍&#xff0c;在y轴方向按比例缩放b倍&#xff0c;从而获得一幅新的图像。 如果ab&#xff0c;即在x轴方向和y轴方向缩放的比率相同&#xff0c;则称这样的比例缩放为图像的全比例缩放。 如果a≠b&#xff0c;图像比…

全画面塑料激光透光率测试仪

随着光学塑料成型技术的不断发展&#xff0c;光学塑料透镜在各类光学系统中得到了广泛的应用。光学塑料具有便于大批量生产&#xff0c;设计灵活性高&#xff0c;重量轻和耐冲击等特点。最近几年来&#xff0c;国内外有许多专家学者对热塑性半结晶塑料激光焊接工艺上的应用进行…

【微服务部署】02-配置管理

文章目录 1.ConfigMap1.1 创建ConfigMap方式1.2 使用ConfigMap的方式1.3 ConfigMap使用要点建议 2 分布式配置中心解决方案2.1 什么时候选择配置中心2.2 Apollo配置中心系统的能力2.2.1 Apollo创建配置项目2.2.2 项目使用2.2.3 K8s中使用Apollo 1.ConfigMap ConfigMap是K8s提供…

零撸大肉,赛博尔Seppol游戏,无限制闯关打碎片,装备,直接变现项目。

2023年7月10日&#xff0c;在上海外滩酒店—— 由来自硅谷、华尔街的技术先锋&#xff0c;与中国科技翘楚阿里、腾讯的骨干团队联手呈现&#xff0c;区块链元宇宙游戏塞波尔 Seppol于上海精彩亮相路演。 1&#xff0c;栖息之地&#xff0c;宠物可放入栖息之地进行挖矿&#xf…

自动驾驶和辅助驾驶系统的概念性架构(二)

摘要&#xff1a; 本篇为第二部分主要介绍底层计算单元、示例工作负载 前言 本文档参考自动驾驶计算联盟(Autonomous Vehicle Computing Consortium)关于自动驾驶和辅助驾驶计算系统的概念系统架构。该架构旨在与SAE L1-L5级别的自动驾驶保持一致。本文主要介绍包括功能模块图…

CSA研讨会|聚焦云原生安全,探讨技术与应用策略

为产业数字化保驾护航&#xff0c; 云原生安全体系如何有效抵御网络威胁&#xff1f; 网络安全的下一个十年&#xff0c; 云原生安全是网络安全创新之路吗&#xff1f; CNAPP部署现状&#xff0c;你了解多少&#xff1f; 9月6日&#xff08;周三&#xff09;下午14&#xff1a…

QTday1(实现图形化界面、QT工程项目各文件初始程序的介绍)

1.实现图形化界面 #include "widget.h" #include "ui_widget.h" #include <QDebug> //输出函数对应的头文件 #include <QIcon>Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(…

VictoriaLogs:一款超低占用的 ElasticSearch 替代方案

image.png 背景 前段时间我们想实现 Pulsar 消息的追踪流程&#xff0c;追踪实现的效果图如下&#xff1a; 实现其实比较简单&#xff0c;其中最重要的就是如何存储消息。 消息的读取我们是通过 Pulsar 自带的 BrokerInterceptor 实现的&#xff0c;对这个感兴趣的朋友后面会单…

指针与空间按钮的交互

文章目录 原理案例&#xff1a;“直线指针”和“点击按钮”的交互1、效果2、步骤 原理 指针不能直接和空间按钮交互&#xff0c;得借助一个中间层——分发器——它分发指针的进入、退出、选择事件&#xff0c;空间按钮自动监听这些事件 案例&#xff1a;“直线指针”和“点击…

【java中的Set集合】HashSet、LinkedHashSet、TreeSet(最通俗易懂版!!)

目录 一、HashSet集合 1.HashSet集合的特点 2.HashSet常用方法 二、LinkedHashSet集合 LinkedHashSet集合的特点 三、TreeSet集合 1.TreeSet集合的特点 2.TreeSet的基本使用 四、HashSet、LinkedHashSet、TreeSet的使用场景 五、list和set集合的区别 一、HashSet集合 …