banner
Matrix

Matrix

Abyss
email
github

C++

Petty C++ - 对象切割
对象切割 Object Slicing 算是 C++ 的一个常见的多态问题。当一个派生类对象赋值给一个基类时,会丢弃掉派生部分,只保留基类对象部分,造成一些意料之外的结果。 对象切割示例 考虑下面的代码: Copy class Animal { public…
Petty C++ - 算法调精 - 三数之和
给你一个整数数组 nums ,判断是否存在三元组 [nums [i], nums [j], nums [k]] 满足 i != j、i != k 且 j != k ,同时还满足 nums [i] + nums [j] + nums [k] == 0 。请你返回所有和为 0…
cover

Petty C++ 初始化

在 C++ 中,初始化或者初始值设定(initializers)是一种设置变量或对象初始状态的表达式,经常出现在对象的创建、成员的初始化、数组赋值等上下文中。 直接初始化 直接初始化可以使用()或者{}初始化变量: Copy int a(10); int b{10…
cover

Petty C++ 构造函数

构造函数是 OOP 中一类特殊的成员函数,用于创建对象并初始化成员变量,在 C++ 中,构造函数和类相同,没有返回值。 一般在以下情况下需要自定义构造函数: 自定义类的成员初始化方式 创建类的对象时调用函数 构造函数一般时public的,但也可以被声明为protecat…
cover

Petty C++ 模板

模板是 C++ 泛型的一种强大特性,可以应用于类、函数、变量,模板的存在使得 coder 可以编写类型无关的代码,而在编译时生成一般的类、函数和变量。 模板基本形式 模板定义了一种蓝图,以生成任何可以操作任何类型的数据的类和函数: 模板的基本形式 以常见的函数模板为例…
cover

Petty C++ - lambda

lambda 表达式在 C++11 之后的版本中是一种定义匿名函数的简洁语法。在一些长环境下,例如 STL 算法和异步操作,使用 lambda 作为回调函数非常自然和方便,并且 lambda 和 C++ 的函数式编程特性非常契合。 基本语法 一个完整的 lambda…
Petty C++ 指针
智能指针 C++ 中的智能指针是一种用于管理动态分配的对象的指针。它们提供了自动内存管理,可以帮助避免内存泄漏和悬空指针的问题。C++ 标准库提供了两种主要的智能指针:std::unique_ptr和std::shared_ptr。 std::unique_ptr: std…
Petty C++ - 关键字
explicit 用于修饰类的构造函数。它的作用是防止隐式类型转换,只允许显式地调用构造函数进行对象的初始化。 当一个构造函数被声明为explicit时,它将禁止编译器执行隐式的类型转换来调用该构造函数。这意味着只能通过显式地调用构造函数来创建对象,而不能使用隐式的类型转换。 下…
此博客数据所有权由区块链加密技术和智能合约保障仅归创作者所有。