指针ptr

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

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

指向指针的指针

Object num=xxx; Object *p = # 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++不能完全支持自动 ......
指针 智能

双指针算法

联想归并排序,快排 目的:优化到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

C语言学习笔记(八)指针详解

# 指针详解 arr[i] = *(arr+i) = *(p+i) = p[i] ## 字符指针 **char* p** ```c int main() { char ch = 'w'; char* pc = &ch; return 0; } ``` ```c int main() { char a ......
语言学习 指针 语言 笔记

LeetCode 16. 3Sum Closest 双指针+排序

Given an integer array `nums` of length n and an integer `target`, find three integers in nums such that the sum is closest to `target`. Return the su ......
指针 LeetCode Closest 3Sum Sum

2308-初识C语言part2-指针+结构体

1.指针 内存如何编号? 答:32位——32跟物理线,有32个长度的二进制序列,共2^32个内存单元,一个内存单元为一字节,2^32 byte = 4 GB int num为4个字节,故占四个内存,标记为4个中最小的编号(0x0012ff44) 指针就是地址 指针的大小是相同的,32位是4,64位是 ......
指针 语言 结构 part2 2308

《VTK图形图像开发进阶》第2章——VTK智能指针

## 2.1 引用计数 如果很多对象有相同的值,在程序里没有必要将这个值存储多次。更好的办法是让所有的对象共享这个值。这么做不但节省内存,而且可以使程序运行得更快,因为不需要构造和析构这个值的副本。**引用计数**就是这样一个技巧,它允许多个有相同值的对象共享这个值。 引用计数是个简单的垃圾回收体系 ......
指针 图形图像 VTK 图形 图像

c++中unique_ptr 的使用和理解

# unique_ptr 的使用 `std::unique_ptr`是c++11起引入的智能指针,为什么必须要在c++11起才有该特性,主要还是c++11增加了move语义,否则无法对对象的所有权进行传递。 ## unique_ptr 介绍 - unique_ptr 不共享它的指针。它无法复制到其他 ......
unique_ptr unique ptr

c++中的weak_ptr的使用与理解

# weak_ptr 的使用 $\quad$关于为什么使用 `weak_ptr`,以及他的使用场景,我们在[这篇文章](https://www.cnblogs.com/weihao-ysgs/p/shared_ptr-weak_ptr.html)中已经进行了介绍。而对于其具体的使用方法,比如说如何通 ......
weak_ptr weak ptr

C语言定义并初始化一个二维数组(利用二级指针)

### C语言定义并初始化一个二维数组(利用二级指针) #### 1.代码如下 ```cpp #include #include int main() { // m, n表示数组的行数和列数 int m, n; scanf("%d %d", &m, &n); // p是一个二级指针,使用malloc ......
数组 指针 语言

C语言定义并初始化一个二维数组(利用指针数组)

### C语言定义并初始化一个二维数组(利用指针数组),可以实现二位数组的每一行的元素个数不同 #### 1.代码如下 ```cpp #include #include int main() { // arr是一个指针数组,即这个数组的所有元素都是指针,每一个元素都指向一个int型数组,每一个int ......
数组 指针 语言

左值,右值,引用,指针,常量,auto如何组合?

# 左值,右值,引用,指针,常量,auto如何组合? - [ ] 左值引用:`int &a = b;` - 左值引用是通过使用`&`符号来声明的,例如`int &a`。 - 左值引用用于绑定到左值(可标识的、持久的、具名的),a绑定到b。 - 左值引用允许对其绑定的对象进行修改。 - 使用左值引用可 ......
常量 指针 auto

std::shared_ptr 线程安全方面的思考

一直惦记着 std::shared_ptr 线程安全的问题,看了些文章后,又怕过段时间忘记了,遂记录下来 std::shared_ptr 的线程安全问题主要有以下两种: 引用计数的加减操作是否线程安全 std::shared_ptr 修改指向时是否线程安全 第一个问题的答案: 是线程安全的,因为是原 ......
线程 shared_ptr 方面 shared std

go语言基础-指针

不像 Java 和 .NET,Go 语言为程序员提供了控制数据结构的指针的能力;但是,你不能进行指针运算。通过给予程序员基本内存布局,Go 语言允许你控制特定集合的数据结构、分配的数量以及内存访问模式,这些对构建运行良好的系统是非常重要的:指针对于性能的影响是不言而喻的,而如果你想要做的是系统编程、 ......
语言基础 指针 语言 基础

C语言.多级指针

```c #include #include #include int main() { long aa = 123; long aaa = &aa; // warning: initialization of ‘long int’ from ‘long int *’ makes integer f ......
指针 语言

指针进阶(C语言)

# 指针进阶 ## 头文件 ```c #include #include #include ``` ### 字符指针 ```c int main() { //字符指针 char arr1[]="abcdef"; char arr2[]="abcdef"; char* p1="abcdef"; cha ......
指针 语言

unique_ptr 与 shared_ptr 的 deleter

使用`std::unique_ptr`定义(声明)一个对象的时候,需要知道这个对象的`Deleter`,`std::unique_ptr`的原型如下: ```cpp template > class unique_ptr; ``` 如果在定义/声明一个unique_ptr对象的时候,这个对象是`im ......
unique_ptr shared_ptr ptr deleter unique

Qt 在线程中invokeMethod采用QueuedConnection模式,调用带指针参数槽,实际不会调用

widgetObject有操函数Test: void Test(int *v); 在线程中调用Test,会被忽略,实际不会调用。 QMetaObject::invokeMethod(widgetObject, "Test", Qt::QueuedConnection, Q_ARG(int*,&v)) ......