编程文章

C++关键字介绍

下表列出了C++中的常用关键字,这些关键字不能作为变量名或其他标识符名称。1、autoC++11的 auto 用于表示变量的自动类型推断。即在声明变量的时候,根据变量初始值的类型自动为此变量选择匹配的类型。auto x = 3;x 为 int 类型cout << typeid(x).name() << endl;auto 变量必须在定 …

C++特性使用建议

1.引用参数使用引用替代指针且所有不变的引用参数必须加上const。在C 语言中,如果函数需要修改变量的值,参数必须为指针,如int foo(int *pval),在 C++ 中,函数还可以声明引用参数int foo(int &val),定义引用参数防止出现 (*pval)++ 这样丑陋的代码。像拷贝构造函数这样的应用也是必需的,而且更明确,不接受 NULL …

C++高频考点【必备】

1、野指针和悬挂指针野指针是指没有初始化的指针;悬挂指针是指指向的内存已经被释放的指针。野指针和悬挂指针都是指向不安全不可控的内存,如果操作该指针会发生意想不到的结果。如何避免?定义指针要初始化释放指针后赋值NULL使用智能指针2、NULL和nullptr区别NULL不是关键字,它是宏。#define NULL 0 或#define NULL (void*) …

Qt信号连接的阻塞参数

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

.NET混合开发解决方案6 检测是否已安装合适的WebView2运行时

WebView2控件应用详解系列博客.NET桌面程序集成Web网页开发的十种解决方案.NET混合开发解决方案1 WebView2简介.NET混合开发解决方案2 WebView2与Edge浏览器的区别.NET混合开发解决方案3 WebView2的进程模型.NET混合开发解决方案4 WebView2的线程模型.NET混合开发解决方案5 WebView2运行时与分 …

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 …