指针209

c++ 智能指针

### 智能指针 + 智能指针式为了解决手动管理动态分配内存的问题,使用RAII(资源获取即初始化)原则,通过在对象的构造函数中分配内存,并在对象的析构函数中释放内存,从而保证资源的正确释放,避免了内存泄漏 **std::unique_ptr** + 管理独占所有权的对象指针,保证在其周期结束时释放 ......
指针 智能

0x05 Go 指针

1. 基本数据类型,变量存的是一个值,基本数据类型也叫做值类型。 2. 获取变量的内存地址,我们可以使用 `&` 符号,例如: ```go var num int = 10 fmt.Println("num =", &num) ``` ```shell # clover @ MacBook-Pro ......
指针 0x05 x05 0x 05

Java开发常出错5颗星——空指针和异常

# 常犯指数5颗星 ### 空指针 #### 空指针概念及样例 - 什么是空指针(java.lang.NullPointExcetion)? 空:内存地址 指针:引用 异常: 运行时 ![image-20230610215624459](https://img2023.cnblogs.com/blo ......
指针 Java

(一)、C++学习随笔:指针

北京时间2023年6月11日22点53分,天气总体晴,温度适宜。没写随笔差不多一年了,也从佛山的广发银行、美的外包跳槽到了深圳坂田这边的华为OD,JAVA或许是干的不太愿意深入了,想学习下C++。今天学习到C++的重点之一:指针,鄙人不才,记忆力不太好,所谓的好记性不如烂笔头,把学到的指针知识都记录 ......
指针 随笔

C++ 指针

# 一、C++ 指针的算术运算 ## 递增一个指针 我们喜欢在程序中使用指针代替数组,因为变量指针可以递增,而数组不能递增,因为数组是一个常量指针。下面的程序递增变量指针,以便顺序访问数组中的每一个元素: ``` 实例 #include using namespace std; const int ......
指针

力扣977题(双指针)

所用算法:双指针 观察题目的规律,平方之后该数组两边的数大,中间的数小,因此想到双指针,一个指针指向数组的开头,一个指针指向数组的结尾。 如果你觉得在原数组上操作会将未遍历的元素覆盖掉,那么一定要开辟一个新的数组,将原数组的值赋给新的数组。 (比如一个数组平方之后的数组是{4,1,0,9,16})因 ......
指针 977

C语言的指针

1.初步理解指针 C语言的指针指的是一个地址,也是**内存单元的编号**,它存储的是**内存地址**. ``` #include int main(){ //初始化一个变量a的值 int a=10; //定义一个指针p指向变量a的地址,int*表示这个变量存放的是int类型的地址 int* p=&a ......
指针 语言

C++面试八股文:指针占用多少个字节?

# C++面试八股文:指针占用多少个字节? 某日小二参加XXX科技公司的C++工程师开发岗位4面: > 面试官:memset、memcpy和strcpy的区别是什么? > 小二:memset用于将一块内存设置为特定的值, > memcpy用于将一块内存从一个位置复制到另一个位置, > strcpy用 ......
八股文 八股 指针 字节

boost库之智能指针

一、boost::scoped_ptr boost::scoped_ptr是Boost库中的一个智能指针类,用于管理动态分配的对象,并确保在超出作用域时自动释放资源。boost::scoped_ptr提供了一种简单而安全的方式来管理对象的生命周期。它的行为类似于C++原始指针,但它负责在其生命周期结 ......
指针 智能 boost

力扣第27题(双指针)

27. 移除元素 - 力扣(LeetCode) 所用算法:双指针(用于改变数组中成员的操作)算法说明:一般对数组进行更新会使用双指针的算法,一个是快指针,一个是慢指针。一般快指针是用来在原数组中获取新数组中的元素,慢指针是用来获取新数组需要更新的位置(相当于另外一个数组)。 1 int remove ......
指针

下标,指针,迭代器

1 //使用下标遍历数组中的元素 2 int a[4] = { 1,2,3,4 }; 3 for (size_t i=0;i<4;++i) 4 { 5 cout << a[i] << endl; 6 } 1 //使用下标任意访问数组中某个元素 2 int a[4] = { 1,2,3,4 }; 3 ......
下标 指针

C++ 指针

# 一、什么是指针? **1、指针是一个变量,其值为另一个变量的地址** **2、double\* 类型是一种指针类型,用于指向 double 类型的内存地址** **3、指针的值都是代表内存地址的十六进制数** # 二、C++ 中使用指针 **实例** ``` #include using nam ......
指针

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

977.有序数组的平方 1,因为是有序数组,所以会导致,两边大,中间小 2,又因为要排序所以可以仿照这个特点 3,从首尾两端,进行排序 代码: 1 //平方之后,列顺序 从低到高 2 vector<int> sortedSquares(vector<int>& nums) 3 { 4 vector< ......
数组 随想录 训练营 矩阵 螺旋

C++面试八股文:C++中指针、引用、解引用和取地址有什么不同?

# C++面试八股文:C++中指针、引用、解引用和取地址有什么不同? 某日小二参加XXX科技公司的C++工程师开发岗位2面: > 面试官:指针、引用、解引用和取地址是C++中的重要概念,请问它们在语法和语义上有所不同? > 小二:指针是一个变量,它存储了一个内存地址。 > 小二:引用是一个别名,它允 ......
八股文 八股 指针 地址

第二天|977. 有序数组的平方 209.长度最小的子数组 59.螺旋矩阵II

这题花了很久去debug,之前都是直接乘完直接排序的。今天用了一下双指针,边界的问题最后还是喵了一眼答案。 这题上次没刷出来,直接看的答案用的队列的思路,需要复习: 这道题和我上次面试蚂蚁的题目非常相似,都是这种旋转的题目。当时非常难想出来现在有一个具体思路了: ......
数组 矩阵 螺旋 长度 977

C++ this 指针

# 第一部分 this 指针的类型可理解为 Box*。 此时得到两个地址分别为 box1 和 box2 对象的地址。 ``` 实例: #include using namespace std; class Box{ public: Box(){;} ~Box(){;} Box* get_addres ......
指针 this

C++ 指向类的指针

# C++ 指向类的指针 一个指向 C++ 类的指针与指向结构的指针类似,访问指向类的指针的成员,需要使用成员访问运算符 ->,就像访问指向结构的指针一样。与所有的指针一样,您必须在使用指针之前,对指针进行初始化。 下面的实例有助于更好地理解指向类的指针的概念: ``` #include using ......
指针 指向

【CPP】通过指针编译访问类成员

前置知识:[内存对齐](https://www.cnblogs.com/jian-lh/p/17431965.html "内存对齐") 首先定义一个简单的结构体 ``` struct mCls { int a; int b; double c; }; ``` 当我们使用指针获取到了该类型的一个实例 ......
指针 成员 CPP

C++ 引用 vs 指针

引用很容易与指针混淆,它们之间有三个主要的不同: 不存在空引用。引用必须连接到一块合法的内存。 一旦引用被初始化为一个对象,就不能被指向到另一个对象。指针可以在任何时候指向到另一个对象。 引用必须在创建时被初始化。指针可以在任何时间被初始化。 https://www.lekaowang.com/yj ......
指针 vs

关于文件处理中的文件指针调动操作 fseek( )

#include<stdio.h> fseek(FILE *STREAM, LONG OFSET, INT ORIGIN); 文件指针/文件流 偏移量 起始位置 FILE* fp; 1.将文件指针从文件开头向右移动 n 个字节,fseek(fp, n, SEEK_SET) 所以,只是将文件指针移动到 ......
文件 指针 fseek

C++的this指针

[TOC] ## 成员函数的this指针 C++当中有一个this指针。 这个this指针是从哪里来的呢? 类的任何一个成员函数,都能kuku变出来一个this指针。 从cpu的视角看看这个问题,到底是咋回事呢。 ## compiler explorer 我最近找到一个好东西, 就是compiler ......
指针 this

指针与内存管理

参考文章: 《现代 C++:一文读懂智能指针》 https://zhuanlan.zhihu.com/p/150555165 《当我们谈论shared_ptr的线程安全性时,我们在谈论什么》 https://zhuanlan.zhihu.com/p/416289479 ### 指针 指针是C++中一 ......
指针 内存

指针计算详解

int main(){ int a[5] = { 1,2,3,4,5 }; int* ptr = (int*)(&a + 1);//&a+1 跳过整个数组后的地址 数组类型转换后存入*ptr printf("%d\n", *(ptr - 1));//ptr-1 解引用获得的是a[5] 的值 p = ......
指针

数组名和指针区别(转)

指针和数组名的共同特点是都是用来指代一个地址的。 不同的是: 1、指针是需要占用内存空间来存储地址的;数组名则更像是一个立即数或者常数。你可以修改指针指向的内容,但你绝对无法改变数组名的指向。 2、数组和指针对于sizeof来说是不同的,指针变量占用的空间通常等于当前CPU的最大位数,数组名取siz ......
数组 指针

C指针

一、指针基础 1.不同内存变量的作用域和生命周期 2.指针与底层硬件联系紧密,指针可操作数据的地址,实现对数据的简介访问。 3.指针的使用场景: 3.1 使用指针传递大容量的参数,主函数和子函数使用的是同一套数据,避免了参数传递过程中的数据复制,提高了运行效率,减少了内存占用。 3.2 使用指针传输 ......
指针

指针函数

记录下指针函数的使用: typedef int (p*)(int ,int); int add(int a, int b){ printf("%\n", a+b); } int main() { p add_; add_ = add; int ret = add_(1,2); return 0; } ......
指针 函数

C++智能指针:weak_ptr

weak_ptr虽然是智能指针,但实际上是作为shared_ptr的辅助指针使用。weak_ptr通常不单独使用,一般用于查看对应的shared_ptr的信息。weak_ptr没有重载*,->等指针运算符。weak_ptr对象不会影响shared_ptr对象的引用计数。 #include<iostr ......
指针 weak_ptr 智能 weak ptr

C++智能指针:shared_ptr、unique_ptr

C++内存资源管理不当。比如:(1) 有些内存资源已经被释放,但指向它的指针并没有改变指向(成为了野指针),并且后续还在使用;(2) 有些内存资源已经被释放,后期又试图再释放一次(重复释放同一块内存会导致程序运行崩溃);(3) 没有及时释放不再使用的内存资源,造成内存泄漏,程序占用的内存资源越来越多 ......
指针 shared_ptr unique_ptr ptr 智能

[CEOI2017] Sure Bet(双指针)

### 题目大意: 给出两个数组A,B,可以在两个数组选择任意多个数,代价为选择的数的数目,得到的奖励为在数组A和数组B中选择的数的两个总和较小的那个,求能得到的最大收益 ### 思路: 1.先给两个数组分别由大到小排序后求前缀和,不难得出在数组A中选择i个数,数组B中选择j个数时,最大收益为: > ......
指针 CEOI 2017 Sure Bet

C++面试八股文:指针占用多少个字节?

某日小二参加XXX科技公司的C++工程师开发岗位4面: > 面试官:memset、memcpy和strcpy的区别是什么? > > 小二:memset用于将一块内存设置为特定的值, > > memcpy用于将一块内存从一个位置复制到另一个位置, > > strcpy用于将一个字符串从一个位置复制到另 ......
八股文 八股 指针 字节