网站首页 站内搜索

搜索结果

查询Tags标签: ptr,共有 328条记录
  • C++ 中 shared_ptr weak_ptr

    shared_ptrstd::shared_ptr<int> sp1 = new int(); // shared count = 1, weak count = 0 std::shared_ptr<int> sp2(sp1); // shared count = 2, weak count = 0 std::shared_ptr<int> sp3 = sp2; // shared count = 3, weak count = …

    2022/7/24 1:25:08 人评论 次浏览
  • C++11特性小结

    一、关键字(1)新增关键字:thread_local、static_assert、nullptr、noexcept、decltype、constexpr、char32_t、char16_t、alignof、alignasthread_local:实现了线程局部存储,让每个线程都独立访问数据,互不干扰;thread_local 标记的变量在每个线程里都会有一个独立…

    2022/7/10 1:21:17 人评论 次浏览
  • 智能指针思想实践(std::unique_ptr, std::shared_ptr)

    1 smart pointer 思想 ​ 个人认为smart pointer实际上就是一个对原始指针类型的一个封装类,并对外提供了-> 和 * 两种操作,使得其能够表现出原始指针的操作行为。 ​ 要理解smart pointer思想首先要了解一个概念RAII(Resource Acquisition Is Initialization), 直…

    2022/7/9 23:20:26 人评论 次浏览
  • 分时频闪应用

    一、应用场景在工业应用中有很多产品需要需要检测多个缺陷,例如手机玻璃屏的划伤检测、凹凸点检测、脏污、崩边、等等一系列的检测。这些检测内容又不可能用一套视觉方案去解决、但是如果用多工位分别检测会有这样两个弊端:第一个在安装空间上可能不允许,第二个可能成本…

    2022/7/8 6:22:49 人评论 次浏览
  • 021 指针思考

    /* 目录:一 C原理二 汇编原理 */一 C原理void change(int** p2) {printf("p2 = 0x%x, *p2 = 0x%x\n", p2, *p2);printf("*p2 = 0x%x, *8p2 = %d\n", *p2, **p2); }int main() {int i = 3;printf("&i = 0x%x, i = %d\n", &i, i);int…

    2022/6/29 6:20:06 人评论 次浏览
  • c++中智能指针的使用,个人总结

    一、什么是智能指针一般来讲C++中对于指针指向的对象需要使用new主动分配堆空间,在使用结束后还需要主动调用delete释放这个堆空间。为了使得自动、异常安全的对象生存期管理可行,就出现了智能指针这个概念。简单来看智能指针是 RAII(Resource Acquisition Is Initializ…

    2022/6/26 1:24:08 人评论 次浏览
  • VC++中的std::function比较问题

    在VC++中,一个std::function对象会根据情况被编译成多种情况,函数指针,函数对象(lambda),其中还涉及了优化等问题。 对于函数对象来说,常规的手段没有任何办法可以做比较,所以只能去二进制层面看看底层数据。 在VC中可以用同一个结构去模拟std::function对象 struct…

    2022/6/18 1:22:25 人评论 次浏览
  • C++11小结:使用智能指针的坑

    目录unique_ptrrelease 不会释放内存 unique_ptr release 不会释放内存 release 只会放弃所有权,不会释放内存资源; reset 既放弃所有权,还会释放内存资源(调用删除器)。如果有参数,还会接管参数对应的新资源。 #include <iostream> #include <memory>u…

    2022/6/14 1:22:38 人评论 次浏览
  • 02 | C++ 自己动手实现智能指针

    0. 前言 RAII (Resource Acquisition Is Initialization, 资源获取即初始化) 是 C++ 特有的资源管理方式,依托栈和析构函数对所有资源(包括堆)进行管理。实际上就是利用一个类来实现一个来管理资源,将资源和类对象的生命周期进行绑定,这样就可以不用再手动释放资源。…

    2022/5/27 1:21:09 人评论 次浏览
  • 【Effective C++】设计与声明

    所谓软件设计,是“令软件做出你希望它做的事情”的步骤和做法,通常以颇为一般性的构想开始,最终演变成十足的细节,以允许特殊接口的开发,这些接口而后必须转换为C++声明式。本章将以接口开始讲解软件设计和声明,主要包括以下几个部分:接口 类 参数 返回值 成员变量…

    2022/5/24 1:19:59 人评论 次浏览
  • container_of() 宏的源码分析

    简介 container_of(ptr, type, member)是内核中的经典函数之一。该函数的作用是:根据结构体中一个成员的地址,找到结构体的地址。这个函数是内核实现面向对象的基础设施,且最近在学习中经常见到这个函数,于是笔者在内核中查看了该函数的实现,故在此记录。本文原本是为…

    2022/5/1 14:42:43 人评论 次浏览
  • 二叉树基础模板

    #include <bits/stdc++.h>using namespace std;template<class T> struct Node{T data;Node<T> *Left, *Right;Node(const T &val,Node<T> *Lptr = nullptr, Node<T> *Rptr = nullptr):data(val),Left(Lptr),Right(Rptr){} };template&…

    2022/4/14 6:17:06 人评论 次浏览
  • 【春招预热】C++回炉重造

    本文主要参照[https://m.nowcoder.com/tutorial/93/a34ed23d58b84da3a707c70371f59c21]进行梳理,进行一定补充,更正了一些错误,删除部分失效内容。 C++基础知识 C and C++ 导入C函数的关键字 - extern "C" 指示编译器这一段代码将按照c来编译 编译区别:C++编…

    2022/3/20 14:27:57 人评论 次浏览
  • RT-Thread学习2 —— 内存管理学习记录

    RT-Thread学习2 —— 内存管理学习记录1 小内存管理算法(mem.c) 1. 小内存管理法: 小内存管理算法是一个简单的内存分配算法。初始时,它是一块大的内存。当需要分配内存块时,将从这个大的内存块上分割出相匹配的内存块,然后把分割出来的空闲内存块还回给堆管理系统中…

    2022/3/9 7:17:10 人评论 次浏览
  • 汇编 两数相加 两个 32 位十进制数相加 变量存放数据

    两数相加 将两个 32 位十进制数相加,被加数和加数存放在 DATA 段内的 N1 与 N2 两个变量中,要求将相加结果送入 N3 变量中。 DATA SEGMENTN1 DD 12345678HN2 DD 87654321HN3 DD ? DATA ENDS CODE SEGMENTASSUME CS:CODE,DS:DATA START:MOV AX,DATAMOV DS,AXMOV AX,WORD…

    2022/3/3 14:15:45 人评论 次浏览
扫一扫关注最新编程教程