nullptr

Qt信号连接的阻塞参数

Qt信号阻塞:  通过信号槽机制的方式调用函数  应用场景为多线程下子线程主动告知主线程某些信息并等待主线程处理完信息下面来看代码实现:  mythread.h.cppmythread.h :class MyThread : public QThread{Q_OBJECTpublic:MyThread();~MyThread();signals: void …

Android bionic自带内存检查工具排查一次内存泄漏及原理源码解析

问题概述几天前,收到一个同事的求助: 在做了新的wifi模组匹配后,在做Miracast投屏煲机时,煲机1.5小时左右会退出Miracast.该同事反馈他们做过相同的对比试验"使用原来模组不会存在该问题". 可能由于他们所说的上述对比试验的错误结论误导了他们导致很久没有查出问题.问题排查过程以及方法看到问题后感觉很好,毕竟是问题有必现的路径, …

谈谈 Unsafe 在 Java 中的作用

前言最近在 Kotlin 项目中发现,定义的 data class(成员变量都声明不可控)经过在 Gson 解析后,可以得到成员变量为空的对象,而不是得到解析失败,那么就很容易造成后续代码的非预期运行,因为成员变量都按不可空的情况来处理,最终喜提 NullPointerException。分析原因在 Gson 的代码中找到实例化对象的地方,经过几种构造方式失 …

C/C++面试的五大必问问题!

第一大问题:malloc和new区别malloc 是 C 语言的内存分配函数,简单但不支持对象初始化。new 是 C++ 中的运算符,功能更强大,能够同时进行内存分配和对象初始化,并且支持异常处理。我们可以从以下6个方便进行对比。1. 语言级别malloc:是 C 语言中的标准库函数,用于分配内存。C++ 也可以使用 malloc,但一般推荐使用 new。n …

DCMTK 学习笔记一 解析tag标签

“阅读本文大概需要 3.3 分钟我们要解析显示一张 dcm图像,首先必须要解析其部分标签信息。标签信息主要有三类:Meta info普通 tag像素 tag根据需要进行读取使用 DCMKT读取 dicom标签是很容易的一件事情meata info tag读取meta 信息在 0002组有三种方式读取,这里展示最简单的一种   & …

C++中,常用的强制类型转换函数

在C++中,常用的强制类型转换函数有:1. static_cast用于相似类型间的转换,可以进行上行转换(derived to base)、下行转换(base to derived)、基本类型之间的转换等。cppBase* b = new Derived();Derived* d = static_cast<Derived*>(b);downca …

在C++中,如何避免出现Bug?

C++中的主要问题之一是存在大量行为未定义或对程序员来说意外的构造。我们在使用静态分析器检查各种项目时经常会遇到这些问题。但正如我们所知,最佳做法是在编译阶段尽早检测错误。让我们来看看现代C++中的一些技术,这些技术不仅帮助编写简单明了的代码,还能使代码更加安全可靠。1、什么是现代C++?“现代C++”这一术语在C++11发布后变得非常流行。那么它是什么意思 …