1.reset的作用: reset() 相当于释放当前所控制的对象reset(T* p) 相当于释放当前所控制的对象,然后接管p所指的对象reset(T*, Deleter) 和上面一样 2.get: 获取对象指针 ...
分类:
其他好文 时间:
2019-09-30 23:52:45
阅读次数:
79
1、原生js给button绑定多个点击事件 2、null和undefined的区别 null类型代表空值,代表一个空对象指针,使用typeof运算得到object,所以可以认为它是一个特殊的对象值; undefined类型,当声明了一个变量未初始化时,得到的就是undefined;undefined ...
分类:
其他好文 时间:
2019-09-17 00:00:40
阅读次数:
140
一、描述 指针是 “ 指向 ” 另外一种类型的复合类型。 与引用(reference)不同之处在于: 1. 指针本身就是一个对象,允许对指针进行复制和拷贝,而且在其生命周期内可以先后指向几个不同的对象; 2. 指针无需在定义是赋予初值,此时它将拥有一个不确定值。但是建议初始化所有指针,这样可以避免一 ...
分类:
其他好文 时间:
2019-09-16 19:45:13
阅读次数:
106
map.clear() 只是把map清空了,但是内存没有释放,如果要释放内存不止是要clear()掉,还要和一个空的map来进行swap,将内存释放。 注意map中如果元素不是基本类型,也要进行内存释放,如指针,vector要尤其注意,否则map占的内存太大,会造成程序崩溃。 示例代码: ...
分类:
其他好文 时间:
2019-08-30 16:01:42
阅读次数:
66
为了满足应用程序对内存分配的特殊需求,C++允许重载new运算符和delete运算符控制内存分配,通过定位new表达式初始化对象(好处是可以在某些场景下避免重新内存分配的消耗) 1、operate new /delete 2、定位new表达式什么时候需要呢 假设在1000次循环中就可以省去每次分配和 ...
分类:
编程语言 时间:
2019-08-28 01:13:42
阅读次数:
111
1.从源头上理解和区别block和delegate delegate运行成本低,block的运行成本高。 block出栈需要将使用的数据从栈内存拷贝到堆内存,当然对象的话就是加计数,使用完或者block置nil后才消除。delegate只是保存了一个对象指针,直接回调,没有额外消耗。就像C的函数指针 ...
分类:
其他好文 时间:
2019-08-26 13:11:46
阅读次数:
102
对象头 在hotspot中对象指针称为oop(ordinary object pointer),而oopDesc则是对象头的结构.。除了Klass(之所以叫klass是因为class是C++关键字)指针外,,还由一个_mark字段,,是因为除了对象的class信息以外,还有一些对象信息需要保留, 比 ...
分类:
其他好文 时间:
2019-08-11 10:48:45
阅读次数:
220
C++标准库(五)之智能指针源码剖析 _Mutex_base template<_Lock_policy _Lp> class _Mutex_base { protected: enum { _S_need_barriers = 0 }; }; template<> class _Mutex_bas ...
分类:
其他好文 时间:
2019-08-10 19:14:13
阅读次数:
132
使用new关键字申请内存空间会调用构造函数 而使用malloc申请内存空间只是单纯分配空间,不会调用构造函数 ...
分类:
编程语言 时间:
2019-07-24 16:18:21
阅读次数:
97
(一)对象数组 将具有相同类类型的对象有序地集合在一起便构成了对象数组,以一维对象数组为例,其定义形式为: 类名 对象数组名[]; Point points[100]; 关于对象数组的几点说明: (1)在建立对象数组的时候需要调用构造函数。如果对象数组有100个元素,就需要调用100次构造函数。 ( ...
分类:
编程语言 时间:
2019-07-19 18:32:25
阅读次数:
90