• 2024-09-27C++ 智能指针详解: std::unique_ptr 和 std::shared_ptr
    C++11引入了智能指针,它们是管理动态分配内存的强大工具。本文将详细介绍两种最常用的智能指针:std::unique_ptr和std::shared_ptr。std::unique_ptr概述std::unique_ptr是一种独占所有权的智能指针。它确保一个对象只能被一个unique_ptr所拥有,这意味着不能复制unique_
  • 2024-08-13[Lang] 智能指针
    [Lang]智能指针智能指针能够有效简化内存管理,避免内存泄漏和悬挂指针等问题。1.std::unique_ptr独占所有权:一个std::unique_ptr对象拥有其管理的对象的唯一所有权。不允许复制:不能进行复制操作,尝试复制会导致编译错误。允许移动:可以将std::unique_ptr对象移动到另一个
  • 2023-12-12共享智能指针
    文章参考:爱编程的大丙(subingwen.cn)所谓智能指针,其实就是C++11封装的类,里面存有一个正常指针,智能指针会通过这个正常指针,来监视指针指向的内存,当没有智能指针指向该内存时,该内存就被释放。其核心在于引用计数,每一个智能指针指向内存A,智能指针内部的引用计数就加一。每析构一
  • 2023-12-12独占智能指针
    文章参考:爱编程的大丙(subingwen.cn)1.初始化:特点:相较于共享智能指针,独占智能指针(unique_ptr)的关键在于:同一时刻,只能有一个智能指针指向同一块内存。因此独占智能指针不允许使用拷贝构造函数和拷贝赋值函数。初始化:通过构造函数初始化:unique_ptr<int>ptr1(newint(1
  • 2023-10-01指针
    指针代码//example.gopackagetestimport"fmt"//值传递funcincrease(nint){ n++ fmt.Printf("\nincrease结束时n=%v\n,n的内存地址为%v\n",n,&n)}//引用传递--->指针funcincrease1(n*int){ *n++ fmt.Printf("\nincrease结束时n=%v\n,n的内
  • 2023-09-05指针练习(1)
    1.intmain(){ inta[3][2]={(0,1),(2,3),(4,5)}; int*p; p=a[0]; printf("%d",p[0]); return0;}解析:a是一个3行2列的二维数组,对他进行初始化时大括号里面是逗号表达式,根据逗号表达式可以得到a数组中元素为1,3,5,0,0。p里面存放的是a[0]的地址,a[0]表示第一行的地址,表
  • 2023-06-10[C/C++] 结构体
    在C语言中,字符串实际上是使用空字符\0结尾的一维字符数组。因此,\0是用于标记字符串的结束。固定缓冲区#defineMAX_LEN100#defineDATA_LEN100typedefstruct{intlength;chardata[MAX_LEN];//固定缓冲区大小,浪费内存}max_buffer,*max_buffer_ptr;
  • 2023-06-06指针计算详解
    intmain(){ inta[5]={1,2,3,4,5}; int*ptr=(int*)(&a+1);//&a+1跳过整个数组后的地址数组类型转换后存入*ptr printf("%d\n",*(ptr-1));//ptr-1解引用获得的是a[5]的值 p=(structtest*)0x100000; printf("struct大小=%d\n",sizeof(*p));//结构体大小是24
  • 2023-02-22《剑指Offer》-18-删除链表的节点
    这不就,真是删除链表节点的基操 ListNode*deleteNode(ListNode*head,intval){ //需要额外考虑的是删除头节点、尾节点的特殊情况 ListNode*virtual_head=ne
  • 2023-02-09指针
    指针一:求数组元素之和#include<stdio.h>#definesize10int exchange(int*start,int*end);intmain(void){inta[size]={1,2,3,4,5,6,7,8,9,10};lon
  • 2023-01-29力扣-82-删除排序链表中的重复元素Ⅱ
    这个删除重复不太常规的是:它不是删除多出来的剩下一个,而是比如有三个1,1重复了,那这三个1节点都不要 ListNode*deleteDuplicates(ListNode*head){ if(!head)returnh
  • 2022-11-24[leetcode每日一题]11.24
    ​​795.区间子数组个数​​给你一个整数数组 ​​nums​​ 和两个整数:​​left​​ 及 ​​right​​ 。找出 ​​nums​​ 中连续、非空且其中最大元素在范围 ​
  • 2022-11-15frida anti pthread_create
    functionanti_pthread(){varp_pthread_create=Module.findExportByName("libc.so","pthread_create");varpthread_create=newNativeFunction(p_pthread_cr