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

上海嘉定网站设计商城首页网站

上海嘉定网站设计,商城首页网站,展厅设计说明,网站如何做内部链接打工人日报#20250828 人终究会变成自己讨厌的样子 很讨厌别人在我认真干活的时候,突然大叫自己的名字,把自己吓得一哆嗦 今天,和同事讨论一个需求,不是很理解,需要其他同事协助,很不想动,我也大…

打工人日报#20250828

人终究会变成自己讨厌的样子
很讨厌别人在我认真干活的时候,突然大叫自己的名字,把自己吓得一哆嗦
今天,和同事讨论一个需求,不是很理解,需要其他同事协助,很不想动,我也大叫别人,说需要帮助,哎,叫完之后警觉自己现在的样子
不想动可以打电话呀、发消息呀!!!

知识点

#include <QList>
#include <QPoint>
#include <iostream>// 假设我们有一个简单的处理逻辑,将每个点的坐标值翻倍
bool test1(QList<QPoint>& pts) {for (QPoint& point : pts) {point.setX(point.x() * 2);point.setY(point.y() * 2);}return true;
}bool test2(QList<QPoint> pts) {QList<QPoint> newPts;for (const QPoint& point : pts) {newPts.append(QPoint(point.x() * 2, point.y() * 2));}// 这里可以将新的点列表做其他处理,目前简单返回truereturn true;
}bool test3(QList<QPoint>& pts, QList<QPoint>& newpts) {for (const QPoint& point : pts) {newpts.append(QPoint(point.x() * 2, point.y() * 2));}return true;
}QList<QPoint> test4(QList<QPoint> pts) {QList<QPoint> newPts;for (const QPoint& point : pts) {newPts.append(QPoint(point.x() * 2, point.y() * 2));}return newPts;
}int main() {QList<QPoint> points;points.append(QPoint(1, 1));points.append(QPoint(2, 2));QList<QPoint> newPoints;test1(points);std::cout << "After test1: ";for (const QPoint& point : points) {std::cout << "(" << point.x() << ", " << point.y() << ") ";}std::cout << std::endl;test2(points);std::cout << "After test2 (original points unchanged): ";for (const QPoint& point : points) {std::cout << "(" << point.x() << ", " << point.y() << ") ";}std::cout << std::endl;test3(points, newPoints);std::cout << "After test3 (new points in newPoints): ";for (const QPoint& point : newPoints) {std::cout << "(" << point.x() << ", " << point.y() << ") ";}std::cout << std::endl;QList<QPoint> result = test4(points);std::cout << "After test4 (result in result variable): ";for (const QPoint& point : result) {std::cout << "(" << point.x() << ", " << point.y() << ") ";}std::cout << std::endl;return 0;
}

函数区别

test1(QList& pts):

接受 QList 的引用作为参数。
直接修改输入的点列表 pts 中的点。

test2(QList pts):

接受 QList 的值作为参数,这意味着会创建 pts 的一个副本。
在函数内部创建一个新的点列表 newPts,对副本中的点进行处理并存储在 newPts 中,但不返回新列表。

test3(QList& pts, QList& newpts):

接受两个 QList 的引用,一个是输入的点列表 pts,另一个是用于存储处理后点的输出列表 newpts。
不修改输入的点列表 pts,而是将处理后的点添加到 newpts 中。

test4(QList pts):

接受 QList 的值作为参数,创建 pts 的副本。
在函数内部创建一个新的点列表 newPts,对副本中的点进行处理,并返回这个新的点列表。

优缺点分析

test1:

优点:
效率高,因为直接操作输入的列表,避免了创建新列表和数据复制的开销。
代码简洁,对于简单的就地修改操作很方便。
缺点:
会修改输入参数,可能不符合某些调用者的预期,尤其是当调用者希望输入数据保持不变时。
缺乏灵活性,如果需要保留原始数据并获取修改后的数据,就不太适用。

test2:

优点:
输入参数不会被修改,保证了输入数据的完整性。
缺点:
效率较低,因为创建了 pts 的副本,并且没有返回处理后的新列表,导致处理结果无法直接使用,除非在函数内部进行更复杂的操作来处理新创建的列表。
代码相对冗余,因为创建了新列表但没有有效利用其结果。

test3:

优点:
输入参数不会被修改,保证了输入数据的完整性。
通过输出参数 newpts 返回处理结果,适用于需要在函数外部使用处理后数据的情况,同时避免了返回值带来的潜在性能开销(如返回大型对象时的复制操作)。
缺点:
调用者需要预先创建并传递一个空的 newpts 列表,增加了调用者的负担。
函数接口相对复杂,需要传递两个参数,不够简洁。

test4:

优点:
输入参数不会被修改,保证了输入数据的完整性。
直接返回处理后的新列表,使用方便,调用者可以直接使用返回值进行后续操作。
缺点:
性能方面,创建了 pts 的副本以及新的返回列表,可能存在性能开销,尤其是处理大型列表时。
返回大型对象时,可能会有较大的复制开销,尽管现代编译器可能会进行返回值优化(RVO)。

阅读

《学会提问》
第八章:证据的效力:个人观察和调查研究
以研究报告作为证据可靠吗?
首先明白科学研究强调可重复性、控制和精确性
其次需要明白,科学研究也不是绝对正确,也可能存在质量不好、成果相互冲突、科研人员也存在自己的价值观偏见等问题
最后,在这个复杂的世界,不存在百分百的“准确性”,但是我们也不能因为不是百分百正确的东西,就断言它是错误的。
在这里插入图片描述

感恩

今天同事带我们去了一个新地方吃饭,只是一些小摊,但是在这“偏远地区”,很不错了!

http://www.dtcms.com/a/438705.html

相关文章:

  • 显示系统(二):显示适配器(显卡)背后的历史
  • 嘉兴网站制作案例无代码制作网页
  • 网站页面seo做网站的语
  • 建设银行注册网站的用户名怎么写建设一个货架网站
  • 排序(Sort)
  • [Web网页] Web 基础
  • 做商铺的网站有那些怎么检查网站的死链
  • 网站做qq发送链接广东省建设监理协会网站 - 首页
  • 操作系统应用开发(十八)RustDesk-API服务器数据库——东方仙盟金丹期
  • 济南小型网站建设厦门人才网唯一官方网站
  • 1518. 换水问题
  • 中国空间站完成了多少404错误页面放在网站的哪里
  • 新媒体运营需要哪些技能seo知识分享
  • Java数据类型与字符串操作全解析
  • linux文件系统学习
  • Effective Python 第37条:用组合类实现多层结构,避免嵌套内置类型
  • C语言计算矩阵的逆
  • 如何传递上层变数到编译过的模组当中
  • 广东十大网站建设外贸公司招聘条件
  • C语言类型转换与错误处理
  • 线上宣传方式昆明网络推广优化
  • 日语学习-日语知识点小记-进阶-JLPT-N1阶段应用练习(3):语法 +考え方16+2022年7月N1
  • 51单片机AD/DA
  • 九.寄生参数对变换器参数设计的影响
  • MapSet练习OJ题讲解(2易2中1难)
  • 1.2.1 RAG:构建你的专属知识库
  • 做网站找个人还是公司电商网站建设的意义
  • 网站开发人员定罪成都系统网站建设
  • 小迪web自用笔记49
  • win7 不能安装 scales 1.4.0,ggplot2,无法找到动态链接库的注入点