静态分析 Qt Ceator 组织的工程代码

news2025/2/28 5:18:04

文章目录

    • Missing reference in range-for with non trivial type (QString) [clazy-range-loop]
    • Slots named on_foo_bar are error prone [clazy-connect-by-name]
    • Call to virtual method 'FlowLayout::takeAt' during destruction bypasses virtual dispatch [clang-analyzer-optin.cplusplus.VirtualCall]
    • non-POD static (QString) [clazy-non-pod-global-static]

在这里插入图片描述
静态分析代码工具

Missing reference in range-for with non trivial type (QString) [clazy-range-loop]

for 循环范围中(QString)[clazy range loop]的的范围中缺少引用
在这里插入图片描述
本质 QString imagePath 是个临时变量,每次for都要申请内存再销毁是没有必要的

//改后
void TextureLibrary::generateTexture(const QList<QString> &imagePathList)
{
    if (!m_glTextureList.isEmpty()){
        this->clearTexture();
    }
    for (auto &imagePath : imagePathList){
        this->appendGlTexture(imagePath);
    }
}

Slots named on_foo_bar are error prone [clazy-connect-by-name]

.ui 默认生成的槽就会报,不用管它

Call to virtual method ‘FlowLayout::takeAt’ during destruction bypasses virtual dispatch [clang-analyzer-optin.cplusplus.VirtualCall]

在类的构造和虚构中调用虚函数需要加类名
在这里插入图片描述

//改后
FlowLayout::~FlowLayout()
{
    QLayoutItem *item;
    while ((item = FlowLayout::takeAt(0)))
        delete item;
}

non-POD static (QString) [clazy-non-pod-global-static]

在这里插入图片描述

《Effective C++》
条款02 对于单纯常量,最好以const对象或enum替换#define;对于形似函数的宏,最好改用inline函数替换#define

Qt 中建议 Q_GLOBAL_STATIC , 我个人喜欢写到类的静态成员变量中

class A{
public:
	static QString _path;
};
QString A::_path = "xxx";

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

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

相关文章

目的和目标的差异|丰田自动工程完结的目的、目标、应用化的意义和明确、二

目的和目标的差异|丰田自动工程完结的目的、目标、应用化的意义和明确、二 业务的方式改废|工作的目的、目标、输出的明确化 业务改善的一种方法被称为业务改废。意思是更好地改善现有的业务&#xff0c;废除不必要的业务。 使用这种方法&#xff0c;首先要明确想要改变和废除…

初学Java,遇错就懵,这类问题到底怎么处理呢?!

前言 众所周知&#xff0c;壹哥在干Java的路上已经越走越远&#xff0c;越陷越深&#xff0c;最近无意刷知乎时看到一位初学Java的迷惑少年&#xff0c;被报错干懵啦&#xff01;&#xff01;&#xff01; 初学Java的同学&#xff0c;遇到报错一定不要慌&#xff0c;首先检查…

Android App规范处理中版本设置、发布模式、给数据集SQLite加密的讲解及使用(附源码 超详细必看)

运行有问题或需要源码请点赞关注收藏后评论区留言~~~ 一、版本设置 每个App都有三个基础信息&#xff0c;第一个是App的图标&#xff0c;第二个是App的名称&#xff0c;第三个是App的版本号。 一旦安装了某个版本的App&#xff0c;那么之后只能安装版本更新的同名App&#xf…

[公派访问学者]申请条件及选拔方法

国家公派访问学者绝大多数是经过层层选拔的&#xff0c;那么具体有哪些条件呢?又是如何选拔的呢?知识人网访问学者申请咨询老师和大家分享以下这篇文章。 一、申请条件 1、高级研究学者 申请时年龄不超过55岁。教学科研人员应为教授、博士生导师。申请人须同时具备以下条件…

基础类型存放在栈上,引用类型存放在堆上,请问是为什么? 字符串是存放在栈上么?

基础类型存放在栈上&#xff0c;引用类型存放在堆上&#xff0c;请问是为什么&#xff1f; 记住一句话&#xff1a;能量是守衡的&#xff0c;无非是时间换空间&#xff0c;空间换时间的问题 堆比栈大&#xff0c;栈比堆的运算速度快&#xff0c;对象是一个复杂的结构&#xf…

苹果手机和电脑怎么录屏?详细教程来了!

​相信小伙伴身边有不少人使用的是苹果手机和电脑。安卓手机和windows电脑怎么录屏不少人都已经知道了&#xff0c;那么苹果手机和电脑怎么录屏 呢&#xff1f;现在&#xff0c;小编就来详细的教教大家如何录屏&#xff0c;快拿出小本本记下来哦&#xff01; 一&#xff0e;苹…

C++11标准模板(STL)- 算法(std::partition_copy)

定义于头文件 <algorithm> 算法库提供大量用途的函数&#xff08;例如查找、排序、计数、操作&#xff09;&#xff0c;它们在元素范围上操作。注意范围定义为 [first, last) &#xff0c;其中 last 指代要查询或修改的最后元素的后一个元素。 复制一个范围&#xff0c;…

扒去 Spring 事件监听机制的外衣,竟是观察者模式

Spring 中提供了一套默认的事件监听机制&#xff0c;在容器初始化时便使用了这套机制。同时&#xff0c;Spring 也提供了事件监听机制的接口扩展能力&#xff0c;开发者基于此可快速实现自定义的事件监听功能。Spring 的事件监听机制是在 JDK 事件监听的基础上进行的扩展&#…

基于结构应力方法的焊接结构疲劳评估及实例分析(上篇)

作者 | 裴宪军博士 &#xff0c;仿真秀专栏作者 一、写在文前 焊接技术作为现代制造业中的支柱技术之一&#xff0c;由于其整体性强、轻量化、经济性好等优点&#xff0c;焊接结构被广泛应用于轨道交通、航空航天&#xff0c;船舶、重型装备等领域&#xff0c;安全承载问题也…

八大排序总结篇

一、前言 到这里&#xff0c;数据结构的八大排序就算是全部写完了。这一期总结篇我们来测试一下八大排序的效率&#xff0c;印证一下八大排序的时间复杂度&#xff0c;以及深度剖析一下八大排序的稳定性问题。 二、八大排序 1、直接插入排序 http://t.csdn.cn/CdFFu 2、希尔排…

css:为什么我设置宽高百分比不生效

很多新手朋友写 css 的时候&#xff0c;有时发现设置宽高百分比有用&#xff0c;有时候又没用&#xff0c;到底怎么回事呢&#xff1f; 核心原则 设置百分比的时候&#xff0c;需要父元素有固定的高度&#xff0c;注意&#xff0c;这里说的只是需要父元素有固定的高度&#x…

机器学习极简入门笔记-4-有监督学习进阶-HMM

目录 15.1 基本概念 概率模型 生成模型与判别模型 概率图模型 马尔可夫链&#xff0c;马尔可夫随机场和 CRF 15.2 数学中的HMM HMM的两个基本假设 15.3 HMM的三个基本问题 概率计算问题 预测问题 学习问题 15.4 HMM3个基本问题的计算 概率计算问题 预测问题 学习…

【Spring源码】18. 属性填充:populateBean()详解

进入populateBean() 对bean的属性进行填充&#xff0c;将各个属性值注入&#xff08;存在其他bean的属性&#xff0c;则会递归初始化依赖的bean&#xff09; ​一开始会先对传入的参数进行判断&#xff08;如下图红框框中的逻辑&#xff09; 如果传入的BeanWrapper和RootBeanD…

如何免费将pdf转word?看完这篇你就会了

pdf是我们学习工作中&#xff0c;经常会接触到的一种文件格式。通常我们都会以这种pdf格式来传输文件&#xff0c;因为它可以确保在不同的设备上打开以及不会出现文件内容格式错乱的情况。可是当我们需要对它的内容进行修改时&#xff0c;就有些困难&#xff0c;需要先将pdf转换…

软件测试之缺陷书写规范

1、标题&#xff1a;应保持简短、准确、提供缺陷的本质信息。 -尽量以缺陷发生的原因与结果的方式相结合的放式书写; -尽量避免使用模糊不清的词语&#xff0c;例如&#xff1a;“功能中断”、“功能不正确”、“行为不起作用”等&#xff0c;应该使用具体文字说明缺陷的症状; …

flink学习之sql-client之踩坑记录

flink/bin目录下会看到这个脚本&#xff0c;最开始以为是和spark-shell差不多的。结果自行摸索无果&#xff0c;网上查的文章也写的很垃圾&#xff0c;自己查官网看下吧。 SQL 客户端 | Apache Flink 直接./sql-client.sh SELECT Hello World; 报错 org.apache.flink.runtim…

NFT 泡沫是否已经被挤破

Sep. 2022, Dan LeBaron Data Source: Footprint Analytics - NFT Volume in 2021 Vs. 2022 虽然NFT已经存在了几年&#xff0c;但在无聊猿 (BAYC)等大型项目启动的推动下&#xff0c;该技术在2021年爆发式地流行。 似乎是突然间&#xff0c;名人、运动员和主要的艺术收藏家都…

深度剖析 Python 日志重复打印问题

python 日志处理流程 使用 python 做日志输出时&#xff0c;首先我们需要一个创建一个 Logger 对象&#xff1a;import logging; logger logging.getLogger() 然后就可以用 logger.info/debug/error(msg) 来输出日志 如果只是单纯地打印日志&#xff0c;这样做和 print 没有任…

高压功率放大器的作用(功率放大器的应用领域是什么)

高压功率放大器的适用范围和应用领域是很多电子工程师所关心的&#xff0c;那么高压功率放大器的作用以及有哪些使用场景呢&#xff0c;下面就让安泰电子来为大家介绍。 高压功率放大器是电子实验室会频繁使用的测试仪器&#xff0c;是在实验中能够帮助输出信号达到最大输出功率…

【黄啊码】用PHP7性能居然是5.6的三倍?赶紧看看它有什么新特性-续

大家好&#xff0c;我是黄啊码&#xff0c;上节课的东西学完了吧&#xff1f;脑瓜子嗡嗡的吧&#xff1f;来&#xff0c;继续&#xff0c;让脑瓜子一次性嗡个够&#xff0c;压力大&#xff0c;才有动力。 目录 PHP CSPRNG PHP 7 use 语句 PHP 7 错误处理 PHP intdiv() 函…