C++智能指针

C++中指针申请和释放内存通常采用的方式是new和delete。然而标准C++中还有一个强大的模版类就是auto_ptr,它可以在你不用的时候自动帮你释放内存。下面简单说一下用法。 用法一: std::auto_ptr m_example(newMyClass()); 用法二: std::auto_ptr m_example; m_example.reset(newMyClass()); 用法三(指针...

【LeetCode刷题-双指针】--259.较小的三数之和

259.较小的三数之和 方法:排序+双指针 class Solution { public int threeSumSmaller(int[] nums, int target) { Arrays.sort(nums); int k = 0; for(int i = 0;i<nums.length;i++){ int start = i + 1,end = nums.length - 1; whil...

快速弄懂C++中的this指针

作用: 防止在定义类的时候出现同名变量(如:定义了一个私有变量,在共有域中用一个方法对私有变量进行了赋值,且赋值的变量与私有域变量同名,此时只有使用this指针才能进行赋值)能够在定义的类内部成员函数中返回类本身(在定义函数头的时候注意要使用引用的方式在通过this指针的情况下返回自身类;因为在类定义的时候类本身只是一个模板,模板是不能被传递的,只有实体能被传,所以此时需要使用一个指针来完成retu...

C++ 之字符串、字符数组与字符指针(*、**)

C++ 之字符串、字符数组与字符指针(*、**) 最近频繁使用字符串+指针,有时候想取值或者复制,常用到问题,在此总结一下字符串的处理、指针的使用长期更新版~ 1. char 使用相关 1.1 内存使用 首先介绍一下C语言中的数据类型: 下图给出了不同数据类型所占的字节数,各种类型的存储大小与系统位数有关,但目前通用的以64位系统为主。以下列出了32位系统与64位系统的存储大小的差别(windows...

《C++避坑神器·二十》C++智能指针简单使用

智能指针,自动释放所指向的对象。 头文件 #include <memory> shared_ptr 允许多个指针指向同一个对象 unique_ptr 独占所指向的对象 weak_ptr 指向shared_ptr所管理的对象 作用原理:在函数作用域结束时调用析构函数自动释放资源。 shared_ptr: 共享指针,会通过计数器记录有多少个指针指向同一资源,可通过use_count()查看有多少个指针指...

【LeetCode:2760. 最长奇偶子数组 | 模拟 & 双指针

🍔 目录 🚩 题目链接⛲ 题目描述🌟 求解思路&实现代码&运行结果⚡ 模拟🥦 求解思路🥦 实现代码🥦 运行结果 ⚡ 双指针🥦 求解思路🥦 实现代码🥦 运行结果 💬 共勉 🚩 题目链接 2760. 最长奇偶子数组 ⛲ 题目描述 给你一个下标从 0 开始的整数数组 nums 和一个整数 threshold 。 请你从 nums 的子数组中找出以下标 l 开头、下标 r 结尾 (0 <= l <= r <...

c语言从入门到实战——数组指针与函数指针

数组指针与函数指针 前言1. 字符指针变量2. 数组指针变量2.1 数组指针变量是什么?2.2 数组指针变量怎么初始化? 3. 二维数组传参的本质4. 函数指针变量4.1 函数指针变量的创建4.2 函数指针变量的使用4.3 两段有趣的代码4.3.1 typedef关键字 5. 函数指针数组6. 转移表 前言 数组指针和函数指针都是指针类型,但是它们指向不同的数据类型。 数组指针:数组指针指向的是数组...

C++ 形参传值和传指针的误解

ntf("x的值%p----y的值%p\n", x, y); printf("x的地址%p----y的地址%p\n", &x, &y); t = x; x = y; y = t;} 到这里,才明白,指针终究还是一个变量,当这个变量传入函数的时候,C++还是会执行一个拷贝,生成一个临时对象,只不过该临时对象指向的内存地址与实参指向内存地址一样,所以我们想执行交互操作应该向下面代码这样,或者传递引用 #...

《QT从基础到进阶·三十二》Q指针和D指针用法

本的库动态链接到新版本的库之后,能够继续正常运行,而不需要重新编译,那么我们就说这个库是二进制兼容的。(通常只要dll的头文件总字节数不变基本满足二进制兼容,pimpl设计模式使用的二进制兼容,因为类指针始终是四个字节) d指针是在主类中使用的,主类获取私有类或类中私有变量的指针 q指针是在私有数据类中使用的,来获取主类对象指针 1、Q_D具体用法: Q_DECLARE_PRIVATE: MyClas...

【C++】类型转换 ③ ( 重新解释类型转换 reinterpret_cast | 指针类型数据转换 )

文章目录 一、重新解释类型转换 reinterpret_cast1、指针数据类型转换 - C 语言隐式类型转换报错 ( 转换失败 )2、指针数据类型转换 - C 语言显示类型强制转换 ( 转换成功 )3、指针数据类型转换 - C++ 静态类型转换 static_cast ( 转换失败 )4、指针数据类型转换 - C++ 重新解释类型转换 reinterpret_cast ( 转换成功 ) 在之前写过...
© 2024 LMLPHP 关于我们 联系我们 友情链接 耗时0.008541(s)
2024-04-20 15:30:58 1713598258