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

【Qt】使用临时对象的坑

前言

使用临时对象时,一定要注意临时对象析构后是否会对代码造成影响,下面是一些可能出现的错误

std::string Widget::getStr()
{return "nihao";
}void Widget::on_pushButton_clicked()
{std::string objStr = getStr();const char* str = getStr().c_str();qDebug() << QStringLiteral("非临时对象 str : ") << objStr.c_str();qDebug() << QStringLiteral("临时对象 str : ") << str;
}

输出

"非临时对象 str : " nihao
"临时对象 str : " 

未定义行为,可能导致崩溃也可能不会崩溃

void Widget::on_pushButton_2_clicked()
{m_hash.insert(0, "libai");m_hash.insert(1, "laowang");m_hash.insert(2, "jieke");m_hash.insert(3, "bad");QVector<QString> vec(m_hash.values().begin(), m_hash.values().end()); //访问了悬空指针std::sort(vec.begin(), vec.end(), [](const QString &left, const QString &right){return left > right;});for(const QString &item : vec){qDebug() << item;}
}

直接导致崩溃

http://www.lryc.cn/news/400772.html

相关文章:

  • Apache-Flink未授权访问高危漏洞修复
  • Unable to obtain driver using Selenium Manager: Selenium Manager failed解决方案
  • (01)Unity使用在线AI大模型(使用百度千帆服务)
  • Zed 编辑器发布了原生 Linux 版本
  • 安全入门day01
  • 基于Adaboost的数据分类算法matlab仿真
  • 基于Java的斗地主游戏案例开发(做牌、洗牌、发牌、看牌
  • Ubuntu 22.04.4 LTS (linux) 安装certbot 免费ssl证书申请 letsencrypt
  • MT6825磁编码IC在智能双旋机器人中的应用
  • Datawhale 2024 年 AI 夏令营第二期——基于术语词典干预的机器翻译挑战赛
  • Qt 多窗体、复用窗口的使用
  • python 基础语法整理
  • 【Linux】常见指令(下)
  • jvm常用密令、jvm性能优化、jvm性能检测、Java jstat密令使用、Java自带工具、Java jmap使用
  • 实验三:图像的平滑滤波
  • VUE前端HTML静默打印(不弹出打印对话框)PDF简单方案
  • 大数据hive表和iceberg表格式
  • flutter 手写 TabBar
  • 一个引发openssl崩溃问题案例
  • 如何申请抖音本地生活服务商?3种方式优劣势分析!
  • 【项目-轻量级Web Server lock类】
  • 数据分析_计划
  • LDAPWordlistHarvester:基于LDAP数据的字典生成工具
  • dhtmlx-gantt甘特图数据展示
  • 《云原生安全攻防》-- 容器攻击案例:Docker容器逃逸
  • 初学者指南:如何搭建和配置 Nginx 服务器
  • [AHK] WinHttpRequest.5.1报错 0x80092004 找不到对象或属性
  • `speech_recognition` 是一个流行的库
  • MFC Ribbon菜单 - 中英文实时切换方法
  • MFC程序创建word,创建表格,写入数据