Linux系统下imx6ull QT编程—— C++基础(一)

Linux QT编程


文章目录

  • Linux QT编程
  • 前言
  • 一、 C++的输入输出方式
    • 1.cout语法形式
    • 2.cin语法形式
    • 3.C++之命名空间 namespace


前言

学习 C++的面向对象编程,对学习 Qt 有很大的帮助

一、 C++的输入输出方式

在这里插入图片描述
在这里插入图片描述
效率上,肯定是 C 语言的 scanf 和 printf 的效率高,但是没有 C++中的 cin 和 cout 使用方便。

1.cout语法形式

cout<<x<<endl;
cout<<x<<y; // endl 可流省略,只是一个换行的效果

x 可以是任意数据类型,甚至可以写成一个表达式,这比 C 语言需要指定数据类型方便多了,endl 指的是换行符,与 C 语言的“\n”效果一样。

2.cin语法形式

cin>>x;
cin>>x>>y;

x 可以是任意数据类型。

3.C++之命名空间 namespace

我们已经使用过命名空间,如using namespace std;
要注意第 1 行,不能写成 iostream.h,有.h 的是非标准的输入输出流,c 的标准库。无.h 的是标准输入输出流就要用命名空间。
using 是编译指令,声明当前命名空间的关键词。可以从字面上理解它的意思,using 翻译成使用。这样可以理解成使用命名空间 std。因为 cin 和 cout 都是属于 std 命名空间下的东西,所以使用时必须加上 using namespace std;这句话。cin 和 cout 可以写 std::cin 和 std::cout,“::”表示作用域,cin 和 cout 是属于 std 命名空间下的东西,这里可以理解成 std 的 cin 和 std 的 cout

为什么要使用命名空间?
有些名字容易冲突,所以会使用命名空间的方式进行区分,具体来说就是加个前缀。
比如C++ 标准库里面定义了 vector 容器,您自己也写了个 vector 类,这样名字就冲突了。于是标准库里的名字都加上 std:: 的前缀,您必须用 std::vector 来引用。同理,您自己的类也可以加个自定义的前缀。但是经常写全名会很繁琐,所以在没有冲突的情况下您可以偷懒,写一句using namespace std;,接下去的代码就可以不用写前缀直接写 vector 了。

下面介绍自定义的命名空间和使用自定义的命名空间
新建一个目录 02_namespace_example,然后在 02_namespace_example 里新建一个02_namespace_example.cpp 文件
在这里插入图片描述
然后输入下面这段代码

#include <iostream>using namespace std;namespace A{int x = 1;void fun() {cout<<"A namespace"<<endl;}}using namespace A;int main(){fun();A::x = 3;cout<<A::x<<endl;A::fun();return 0;}

第 4 行,自定义了命名空间 A,里面定义了一个变量 x,并将 x 赋值为 1;定义了一个函数fun(),并在 fun()加了输出打印语句 cout<<“A namespace”<<endl;。
第 11 行,声明使用命名空间 A。
第 14 行,在第 11 行声明了命名空间 A 后,才能直接使用 fun();否则要写成A::fun();
第 15 行,将 A 命名空间下的 x 重新赋值为 3。
第 16 行,打印出 A 命名空间下的 x 的值。
第 17 行,调用 A 命名空间下的 fun()。

然后编译执行
在这里插入图片描述
可以看到fun()打印出字符
然后cout << A::x<<endl打印出3
然后调用A::fun()打印出字符

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

Windows本地提权 · 上篇

目录 at 命令提权 sc 命令提权 ps 命令提权 利用的是windows的特性&#xff0c;权限继承&#xff0c;命令或者服务创建调用的时候会以system权限调用&#xff0c;那么这个命令或者服务的权限也是system。 进程迁移注入提权 pinjector进程注入 MSF进程注入 令牌窃取提权…

【Unity3D】调整屏幕亮度、饱和度、对比度

1 屏幕后处理流程 调整屏幕亮度、饱和度、对比度&#xff0c;需要使用到屏幕后处理技术。因此&#xff0c;本文将先介绍屏幕后处理流程&#xff0c;再介绍调整屏幕亮度、饱和度、对比度的实现。 屏幕后处理即&#xff1a;渲染完所有对象后&#xff0c;得到一张屏幕图像&#xf…

android装备选择,巫师三前期必拿装备武器_巫师三前期必拿最强装备推荐选择_攻略...

巫师三狂猎是巫师系列游戏的第三部&#xff0c;游戏是根据小说改编而来&#xff0c;既有小说的剧情又有精美逼真的游戏画面&#xff0c;曾获奖无数&#xff01;第三部的游戏剧情是讲主人公杰洛特(猎魔人)的最终冒险。游戏以战斗为主&#xff0c;并结合主线任务和支线任务&#…

哈利波特AR游戏-巫师联盟 深度解析

今年AR技术的进展&#xff0c;及相关应用值得我们关注。给大家推荐一个AR游戏&#xff0c;应该会超越Pokemon Go。 [ 哈利波特&#xff1a;巫师联盟 ] 这一天可能是魔法世界最重要的一天 AR游戏《哈利波特:巫师联盟》 于2019年6月20日正式上线。 全世界的哈利波特迷&#xff…

大地图开发管理:《巫师3》Umbra遮挡剔除技术

本演讲介绍巫师3使用Umbra实现的遮挡剔除技术。笔记略过了一些过于平凡的实现细节&#xff0c;包括流的加载&#xff0c;如何向Umbra提交数据&#xff1b;也略过了一半以上关于“游戏应当如何选择中间件”的讨论。Umbra 3Umbra是一个芬兰中间件公司&#xff0c;做出核心技术之后…

《巫师3:狂猎》4.01版更新 PC端已上线

去年12月&#xff0c;《巫师3》免费升级次世代版&#xff0c;加入DLSS 3支持&#xff0c;RTX 40系显卡的用户能直接提升体验感&#xff0c;RTX 30系用户能通过DLSS 2获得更稳定的帧数。 目前。《巫师3&#xff1a;狂猎》4.01版已更新上线&#xff0c;在PC、PlayStation 和 Xbo…

哈利波特3 阿兹卡班的囚徒

《哈利波特3阿兹卡班的囚徒》DVD国语配音高清收藏版《哈利波特3&#xff1a;阿兹卡班的囚徒》 片名&#xff1a;Harry Potter and the Prisoner of Azkaban 译名&#xff1a;哈利波特3&#xff1a;阿兹卡班的囚徒 导演&#xff1a;阿方索卡隆Alfonso Cuaron 主演&#xff1a;丹…

昆特牌显示无法连接至服务器,巫师之昆特牌总是显示无法连接网络

巫师之昆特牌这款游戏相信大家都不陌生吧&#xff0c;最近小编经常收到巫师之昆特牌总是显示无法连接网络问题的反馈&#xff0c;接下来小编就为大家提供几种常见的处理方案。 巫师之昆特牌游戏简介 《巫师之昆特牌》是由CD PROJEKT RED开发的一款卡牌类游戏。 游戏的主角是北方…

c语言谭浩强百草园有卖吗,巫师3白果园有什么神器

巫师3这款游戏中&#xff0c;装备对玩家是有一定的影响的&#xff0c;在白果园中隐藏着两个前期神器&#xff0c;是两件毒蛇学派的装备&#xff0c;在哪里呢&#xff0c;下面游戏吧小编为大家带来介绍。 巫师3白果园有什么神器 白果园神器指的是白果园中毒蛇学派的毒蛇钢剑和毒…

讯飞星火认知大模型与ChatGPT的对比分析

引言&#xff1a; 人工智能是当今科技领域的热门话题&#xff0c;自然语言处理是人工智能的重要分支。自然语言处理的目标是让计算机能够理解和生成自然语言&#xff0c;实现人机交互和智能服务。近年来&#xff0c;随着深度学习的发展&#xff0c;自然语言处理领域出现了许多创…

【数据结构6】二叉树的基本操作

文章目录 ⭐️写在前面的话⭐️二叉树的一些基本操作1、结构定义2、先序创建这棵树3、按满二叉树方式创建4、三种递归遍历5、层次遍历6、求二叉树的深度7、求叶子结点数8、三种非递归遍历9、先序线索化二叉树10、先序线索化后遍历11、中序线索化二叉树12、中序线索化后遍历主函…

C语言——每日一题

1.倒置字符串 倒置字符串 要将每一个单词逆序输出&#xff0c;首先可以将整个字符串内容都逆序输出&#xff0c;然后再将字符串中的每一个单词再进行逆序。 例如&#xff1a;逆序 i like beijing. 先逆序成&#xff1a;.gnijieb ekil i 再将每个单词逆序&#xff1a; beij…

Matlab实现曲线拟合的最小二乘法

实验条件 实验用例 x0102030405060708090y6867.166.465.664.661.861.060.860.460 实验要求 利用曲线拟合的线性最小二乘法求被逼近函数f(x)在点x55处的近似值&#xff0c;并画出实验数据和直线。 代码实现 X[0,10,20,30,40,50,60,70,80,90]; Y[68,67.1,66.4,65.6,64.6,61.…

达梦数据库8安装教程

第一步&#xff1a;双击驱动 注意&#xff1a;如果双击显示没有驱动&#xff0c;则安装WinCDEmu软件。 第二步&#xff1a;双击setup.exe安装包 第三步&#xff1a;选择时区 第四步&#xff1a;验证key文件 因为我们是免费试用&#xff0c;所以没有key文件&#xff0c;直接下一…

线性回归——最小二乘法

线性回归&#xff1a;自变量和因变量之间是线性关系&#xff0c;例如&#xff1a;h a0a1x1a2x2…anxn。线性回归预测的一般步骤&#xff1a;假设特征变量Xi满足线性关系&#xff0c;然后根据给定的训练数据训练出一个模型&#xff0c;最后通过此模型进行预测。线性回归的根本就…

最小二乘法多项式曲线拟合原理与实现(数学公式详细推导,代码方面详细注释)

最小二乘法概念&#xff1a; 最小二乘法&#xff08;又称最小平方法&#xff09;是一种数学优化技术。它通过最小化误差的平方和寻找数据的最佳函数匹配。利用最小二乘法可以简便地求得未知的数据&#xff0c;并使得这些求得的数据与实际数据之间误差的平方和为最小。最小二乘…

对「曲线拟合」和「最小二乘法」的个人理解

在工程实践中&#xff0c;经常遇到类似的问题: 我们做了n次实验&#xff0c;获得了一组数据 然后&#xff0c;我们希望知道x和y之间的函数关系。所以我们将其描绘在XOY直角坐标系下&#xff0c;得到下面这么一张点云图&#xff1a; 然后&#xff0c;我们发现&#xff0c;x和y…

最小二乘法实现曲线拟合

说明&#xff0c;本文章的源代码来着于网络&#xff0c;本人已在实际项目中反复使用过&#xff0c;证明没问题。 1.简介 已知曲线上的n个点&#xff0c;可以使用某条曲线去拟合&#xff0c;使得整体上所有的点都逼近曲线&#xff0c;可以使用不同的角度去判断整体逼近&#x…

最小二乘法直线拟合汇总

原文链接&#xff1a;https://www.jianshu.com/p/1c4f3edbaa47 首先最小二乘法是面对不连续的离散点。 它的本质是求某些参数&#xff0c;估计值在整体下可以使误差ε最小。 对于离散点的直线拟合、曲线拟合是在满足误差最小的基础上&#xff0c;得出可以用数学函数式表达的可…

线性回归----最小二乘法

目录 线性回归&#xff1a;就是把离散的数据拟合到一条直线上&#xff0c;获得一个直线方程来近似的描述这些离散的数据 最小二乘法&#xff1a;是用数学公式直接求解线性回归方程的参数的方法。 例&#xff1a; 使用美国汽车油耗数据中的排量disp作为X&#xff0c;油耗MPG作…