C++和Java的差异

多态差异 先说结论,C++的多态因为虚函数的缘故,他的表现和Java的略与不同,虚函数。当C++程序员进行Java开发的时候如若不能立即切换,可能会因为他们所谓的反直觉导致代码编写出现差异 源代码 C++ Code #include <iostream> class Father { public

阅读全文 →

LLVM - Linux配置/安装LLVM环境

本次编译及运行测试均在Deepin(Debian)平台。 下载源代码 首先我们得克隆llvm-project完整的代码,不能只下载llvm子项目的代码(这样只有旧版才能编译的了)。 github git clone https://github.com/llvm/llvm-project gitee

阅读全文 →

Android - ART压缩指针

引言 在分析ART虚拟机的中对象模型时,发现Mirror Object类中引用的其他object指针/对象头的指向Class的指针,都使用了HeapReference来包装,都是HeapReference类型,而HeapReference类只是对uint32_t类型的值进行包装,在64位系统是8字节

阅读全文 →

C++ - 类型操作

forward std::forward 是一个函数模板,通常与右值引用(rvalue references)结合使用。它的主要作用是实现完美转发(perfect forwarding),确保在函数模板中能够保留传入参数的值类别(左值或右值)。这个特性在泛型编程和模板代码中非常重要,可以避免不必要的

阅读全文 →

Termux - 安装VSCode Server

首先我们需要更新升级一下已安装的包(不然安装node的时候大概率会爆炸!): pkg update && pkg upgrade 接下来我们需要安装我们需要的库: pkg install -y python nodejs yarn git 如果安装太慢了 记得换一下源或者挂个梯子! 使用yarn安装

阅读全文 →

C++ - 功能特性测试

标准中为 C++11 和之后引入的 C++ 语言和程序库的功能特性定义了一组预处理器宏。标准有意使之成为检测这些功能特性是否存在的一种简单且可移植的方式。 检查 __has_cpp_attribute( 属性记号 ) 检查你的编译器是否支持某些属性(某些特性/语法/宏)…… 可以在#if #elif

阅读全文 →

UE4 - 基础篇:矩阵是什么?

想看为什么不问我要密码呢?想看为什么不问我要密码呢?想看为什么不问我要密码呢?想看为什么不问我要密码呢? 在哪些辅助项目中,所谓的矩阵就是视图投影矩阵(有些人喜欢叫他相口)。在UE4源码中,这个矩阵通常被命名为: ULocalPlayer::ViewProjectionMatrix FSceneVi

阅读全文 →