指针209

C++ 函数指针与Lambda匿名函数

# 函数指针 c语言学过了,这里简单记一下,下面举例一个用法就行: ```c++ #include #include template void print(T v) { std::cout void ForEach(std::vector &v, Func func) { for (T1 &val ......
函数 指针 Lambda

C++ 智能指针

# 智能指针 > 使用智能指针需要引入 `memory` 头文件 ## unique_ptr ```c++ #include #include #include class Entity { public: Entity() { std::cout entity(new Entity()); // ......
指针 智能

c++ 丢失笔记 [运算符重载、this指针、复制与拷贝构造、生存周期、箭头操作符]

# 运算符重载、this指针、复制与拷贝构造、生存周期、箭头操作符 有一部分是学校的OJ里做题需要就提前学了,然后没记笔记,有一部分是笔记丢了。不打算补这些笔记。 不过还是在这里mark一下++运算符的重载。 因为++运算符可以前置也可以后置,所以这里需要注意一下,**如果是后置++,需要一个int ......
操作符 运算符 箭头 指针 拷贝

Gym103687D The Profiteer:回滚莫队信息双指针可以做到线性对数

## 标题写得好 所谓的回滚莫队信息意思是,设信息保存在两个大小分别为 $a, b$ 的结构上,将这两个信息进行合并得到大小为 $a + b$ 的信息需要的时间为 $\Omega(\min\{a, b\}\cdot f(n))$;而给定一个大小为 $1$ 的信息,可以在 $\mathrm O(f(n ......
对数 线性 指针 Profiteer 103687D

笔记整理--C语言--C语言指针5分钟教程——转载

## C语言指针5分钟教程 ### 指针、引用和取值 什么是指针?什么是内存地址?什么叫做指针的取值?指针是一个存储计算机内存地址的变量。在这份教程里“引用”表示计算机内存地址。从指针指向的内存读取数据称作指针的取值。指针可以指向某些具体类型的变量地址,例如int、long和double。指针也可以 ......
语言 指针 笔记 教程

双指针算法

# 双指针算法 ```c++ for(int i=0, j=0; i using namespace std; const int N = 100010; int a[N], s[N];//s数组用来判断 j ~ i 之间有没有重复的 int main(){ int n; cin>>n; for(i ......
指针 算法

C++快速入门 第十六讲:this指针和类的继承

this指针指的是指向当前类生成的对象 继承机制使得程序员可以创建一个类的堆叠层次结构,每个子类均将继承在它的基类定义的方法和属性。 简单地说,就是通过继承机制,可以对现有的代码进行进一步扩展,并应用到新的程序中。 基类可以派生出其它的类,也称为父类或超类(如动物类) 子类是从基类派生出来的类(如乌 ......
指针 this

C++无法将类的成员函数赋值给一般的函数指针,解决方案

遇到需要绑定回调函数的API接口。 看了定义的函数指针,是静态的函数指针,将非静态的类成员函数赋值过去的时候,无法编译通过。 将成员函数改成静态又得将整个类的内容都改成静态。 这种情况下,可以构造匿名函数,引用this,这样可以在类中,将自己的成员函数赋值给需要的函数指针类型上: ``` serve ......
函数 指针 成员 解决方案 方案

C++快速入门 第十讲:复杂的数据类型——指针和数组

计算机是把数组以一组连续的内存块保存的。 数组的第一个元素的地址为该数组的基地址。 实例1:数组元素地址打印 1 #include <iostream> 2 3 using namespace std; 4 5 int main() 6 { 7 const unsigned short ITEMS ......
数组 指针 类型 数据

C++快速入门 第八讲:复杂的数据类型——指针

小知识:程序以文件的形式存储在硬盘,但它们却是在计算机的内存中运行 对于变量可以通过变量名与地址两种方式进行索引,变量的地址在程序执行期间是不会发生变换的 地址是计算机内存中的某个位置;指针是专门用来存放地址的特殊类型变量 ......
指针 类型 数据

C++快速入门 第九讲:复杂的数据类型——指针02

指针的类型必须与由它保存其地址的变量的类型一致,当某个变量的地址给了指针p时,就可以通过*p(即表示该地址的数据)来对该变量数据进行操作 一定要牢记一个事实:指针所保存的是内存中的一个地址,它并不保存指向的数据的值本身。因此务必确保指针对应一个已经存在的变量或者一块已经分配的内存 *有两种用途,一是 ......
指针 类型 数据

C语言的指针图示

![](https://img2023.cnblogs.com/blog/1063429/202308/1063429-20230818114032479-1250644401.png) > 所谓指针定义,可以认为一个指针位置有2个结构,第一个结构就是指针所指向的地址,第二个结构就是地址里的数据。 ......
指针 语言

笔记整理--C语言--数组指针和指针数组的区别 - hongcha_717 - 博客园——转载

【转载】:原文 http://www.cnblogs.com/hongcha717/archive/2010/10/24/1859780.html ## 数组指针和指针数组的区别 ### 数组指针(也称行指针) 定义 int (*p)[n]; ()优先级高,首先说明p是一个指针,指向一个整型的一维数 ......
数组 指针 hongcha 语言 笔记

代码随想录算法训练营第二天| 977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩阵II

977.有序数组的平方 题目 给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。 第一想法 隐隐约约有印象是用双指针法头尾一起向中间移动,因为这个数组的特点决定了平方数中间小两边大 思路&题解 class Solution { publ ......
数组 随想录 训练营 矩阵 螺旋

「学习笔记」指针的基础入门

为啥会突然学这个呢? 因为长链剖分优化 DP 的状态转移用到了指针数组,平时的 STL 使用中也经常碰到指针。 So,就去学了一下,记录一下学习的笔记。~~我绝对不会告诉你另一个原因是因为最近做DP做累了想来写篇博文水水时间~~ ## 引入 我们平时用 `scanf` 输入的时候,都会在变量名前加一 ......
指针 基础 笔记

指向指针的指针

Object num=xxx; Object *p = &num; Object **pp = &p; 参考:https://www.zhihu.com/question/584320260/answer/2977911418?utm_id=0 应用场景1:函数的形参传值 如果你的应用中只有指针,而 ......
指针 指向

指向成员函数的指针

title: "指向成员函数的指针" date: 2023-08-15T14:05:25+08:00 tags: ["C++"] categories: [] draft: false [c\+\+ \- How do I typedef a function pointer with the C\ ......
指针 指向 函数 成员

Go 语言指针

变量是一种使用方便的占位符,用于引用计算机内存地址。 Go 语言的取地址符是 &,放到一个变量前使用就会返回相应变量的内存地址。 package main import "fmt" func main() { var a int = 10 fmt.Printf("变量的地址: %x\n", &a ) ......
指针 语言 Go

智能指针

share_ptr / make_shared ref: [C++——智能指针](https://blog.csdn.net/qq_40337086/article/details/126025232) ## 智能指针 ### why 裸指针很危险,忘记释放很容易造成内存泄漏。c++不能完全支持自动 ......
指针 智能

Leetcode 209. 长度最小的子数组(Minimum size subarray sum)

[题目链接](https://leetcode.cn/problems/minimum-size-subarray-sum) 给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其和 ≥ target 的长度最小的 连续子数组 [numsl, numsl+1, ..., ......
数组 长度 Leetcode subarray Minimum

双指针算法

联想归并排序,快排 目的:优化到O(n) 提高效率 O(n方)优化到O(n) 一个小例子,输入abc def ghi然后输出三行分别输出这三个单词 1 #incldue <iostream> 2 #include <string.h> 3 using namespace std; 4 int mai ......
指针 算法

指针

## > 指针就是地址,地址就是指针 ``` int a = 1; int *p; p = &a; //等价于int *p = &a //p、&a是int*,*p、a是int ``` - 指针变量也有地址,只是每次运行随机分配不固定!!!! - 指针变量++,类似于int a,a++。不会改变指针变 ......
指针

随笔-C-指针数组使用简记

typedef struct mem_list* cns_detail_encode_result[encode_type_max]; (gdb) p &((struct mem_list**)0x7fffb4557950)[0] # & 取对应点的位置 $29 = (struct mem_list ......
简记 数组 指针 随笔

有关成员函数const修饰,对传入的成员属性影响以及返回指针引用的bug问题

bool contains(_T& data, bn_ptr t)const 此时传入的成员参数是带有const属性的,但是data是不带const的,通过影响成员参数访问权限,而达到不能修改的目的; BinarySearchTree<_T>& BinarySearchTree<_T>::opera ......
成员 指针 函数 属性 问题

学习《C和指针》的总结(1)

一、GDB,我使用的是notepad++,因为它轻量化,再用MinGW作为编译器,配置宏:Compile、Run和GDB。 GDB指令: 1、b 13 :在第十三行打断点 2、r :运行代码到第十三行 3、n :运行下一行代码 4、s :如果下一行是调用函数,使用此指令进入调用函数 5、p a :打 ......
指针

C++11实用特性3 --智能指针

### 1 智能指针 在C++中没有垃圾回收机制,必须自己释放分配的内存,否则就会造成内存泄露。解决这个问题最有效的方法是使用智能指针(smart pointer)。智能指针是存储指向动态分配(堆)对象指针的类,用于生存期的控制,能够确保在离开指针所在作用域时,自动地销毁动态分配的对象,防止内存泄露 ......
指针 特性 智能 11

C++ 初学者如何正确使用指针

一、指针的基本概念 指针是C++中非常重要的概念,也是初学者经常会遇到的问题。指针是一个存储变量地址的变量,它指向存储器中的一个地址。使用指针可以直接操作存储器中的数据,因此常用于处理复杂的数据结构和算法。 二、指针的定义和使用 定义指针以及使用指针的步骤如下: 1 // 定义指针 2 int *p ......
指针 初学者

Leetcode167. 两数之和 II - 输入有序数组(双指针)

题目: [ 两数之和 II - 输入有序数组(双指针)](https://leetcode.cn/problems/two-sum-ii-input-array-is-sorted/description/) 给你一个下标从 1 开始的整数数组 numbers ,该数组已按 非递减顺序排列 ,请你从 ......
之和 数组 指针 Leetcode 167

C语言的指针

# 所谓的指针,其实就是一个类型。 如何解释这个呢? 首先来看 `int i=3;` 1. int 是变量的类型 2. i 是变量的名字 3. 3 是变量的值 首先变量是存储在内存中,访问内存是需要地址,其次读取时需要知道内存存储的格式后才知道读取多少位内存。 也是分三步走 1. 确认内存地址 2. ......
指针 语言

函数指针、std::function、std::bind

# 函数指针、std::function、std::bind ## 函数指针: - C++语法中可以直接将函数名作为指针, ```cpp void fun(int a, int b); ``` 在这个函数声明中,函数指针即为`fun`,传入要被调用的地方时只需要传入`fun`就可以。 但是这个函数指 ......
指针 函数 std function bind