C++双指针总结

双指针:主要用来遍历数组 若两指针指向相同数组且遍历方向相同且不相交,即为滑动窗口,若遍历方向相反则将数组覆盖,可用来进行搜索

指针与常量:

int x

int *p1=&x;       *p1为一个类型是int的指针,获取变量x的地址。指针可以被修改,值也可以被修改

const int *p2=&x;       const作用在int上而非指针p2上,因此指针可被修改而值不可修改

int * const p3=&x;        const作用在p3上则指针不可改变而值可被修改

const int * const p4=&x;     指针和值都不可被修改

指针函数与常量:

addition 是指针函数,即代码最终不是return 0,而是返回一个指针 

int* addition(int a, int b) {

int* sum = new int(a + b);//分配内存

return sum;  //函数最终返回的是指针sum

}

minus是函数指针,指向函数的指针

合并两个数组:

void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) {

    int pos = m-- + n-- - 1;

    while (m >= 0 && n >= 0) {

    nums1[pos--] = nums1[m] > nums2[n]? nums1[m--]: nums2

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值