Petty C++ 运算符重载
在 C++ 中使用operator关键字为运算符提供不同的行为。 重载运算符允许自定义行为。
重载运算符不改变运算符的固有优先级和结合性。
Copy
type operator symbol(params)
其中,type是返回类型,operator symbol表示要重…
Petty C++ 初始化
在 C++ 中,初始化或者初始值设定(initializers)是一种设置变量或对象初始状态的表达式,经常出现在对象的创建、成员的初始化、数组赋值等上下文中。 直接初始化#
直接初始化可以使用()或者{}初始化变量:
Copy
int a(10);
int b{10};
//…
Petty C++ 构造函数
构造函数是 OOP 中一类特殊的成员函数,用于创建对象并初始化成员变量,在 C++ 中,构造函数和类相同,没有返回值。 一般在以下情况下需要自定义构造函数:
自定义类的成员初始化方式
创建类的对象时调用函数
构造函数一般时public的,但也可以被声明为protecat…
Unity Shader Learning Note 1
本文从 0 开始学习 Unity Shader 先新建一个 Unity Shader (Surface Shader)开始:
Copy
Shader "Custom/NewSurfaceShader"
{
Properties
{
_Color…
Petty C++ 模板
模板是 C++ 泛型的一种强大特性,可以应用于类、函数、变量,模板的存在使得 coder 可以编写类型无关的代码,而在编译时生成一般的类、函数和变量。 模板基本形式#
模板定义了一种蓝图,以生成任何可以操作任何类型的数据的类和函数:
模板的基本形式#
以常见的函数模板为例…
Petty C++ - lambda
lambda 表达式在 C++11 之后的版本中是一种定义匿名函数的简洁语法。在一些长环境下,例如 STL 算法和异步操作,使用 lambda 作为回调函数非常自然和方便,并且 lambda 和 C++ 的函数式编程特性非常契合。 基本语法#
一个完整的 lambda…
图片颜色转换
一个需求是吧一张图的红色部分转换为蓝色部分,最初不思路可以是通过通道互换解决,但这可能会产生一些混合色的颜色变换。例如橙色变为紫色(黄 + 红 || 黄绿 + 蓝)。 另一种思路是色彩空间变换,在一个空间内解决不了的问题,通过坐标变换 转换到另一空间求解,再转换回来…
微信小程序逆向
整体步骤# 找到需要解包的小程序
解密找到的小程序
解包
找到需要的小程序#
以 Windows WeChat 为例,找到 WeChat 的存储位置
使用命令行的时候注意 WeChat Files 是有空格的,直接复制粘贴到命令行会被截断,所以需要用双引号包裹…
Petty C++ 指针
智能指针# C++ 中的智能指针是一种用于管理动态分配的对象的指针。它们提供了自动内存管理,可以帮助避免内存泄漏和悬空指针的问题。C++ 标准库提供了两种主要的智能指针:std::unique_ptr和std::shared_ptr。
std::unique_ptr:
std:…
Petty C++ - 关键字
explicit# 用于修饰类的构造函数。它的作用是防止隐式类型转换,只允许显式地调用构造函数进行对象的初始化。
当一个构造函数被声明为explicit时,它将禁止编译器执行隐式的类型转换来调用该构造函数。这意味着只能通过显式地调用构造函数来创建对象,而不能使用隐式的类型转换。…