//
//  main.m
//  集合(数组)对象的内存管理(MRC中)
//

#import <Foundation/Foundation.h>
#import "Person.h"int main(int argc, const char * argv[]) {@autoreleasepool {// 1. 如果将一个对象添加到一个数组中, 那么数组会对对象进行一个retainPerson *p = [Person new];NSLog(@"reatinCount = %lu", [p retainCount]);NSMutableArray *arrM = [[NSMutableArray alloc] init];[arrM addObject:p];NSLog(@"reatinCount = %lu", [p retainCount]);[p release];NSLog(@"reatinCount = %lu", [p retainCount]);// 当数组对象释放之后, 会给数组中所有的对象发送一条release消息
        [arrM release];Person *p = [Person new]; // 1NSLog(@"reatinCount = %lu", [p retainCount]);NSMutableArray *arrM = [[NSMutableArray alloc] init];[arrM addObject:p]; // 2NSLog(@"reatinCount = %lu", [p retainCount]);[p release]; // 1// 当数组移除一个对象之后, 会给这个对象发送一条release消息
        [arrM removeObject:p];}return 0;
}

转载于:https://www.cnblogs.com/yaowen/p/7441860.html

oc79--数组的内存管理相关推荐

  1. OC10_数组的内存管理

    // // main.m // OC10_数组的内存管理 // // Created by zhangxueming on 15/6/18. // Copyright (c) 2015年 zhangx ...

  2. numpy ndarray 多维数组的内存管理

    1. ndarray.flags:内存布局(layout) https://docs.scipy.org/doc/numpy/reference/generated/numpy.ndarray.fla ...

  3. Python3.5源码分析-内存管理

    Python3源码分析 本文环境python3.5.2. 参考书籍<<Python源码剖析>> python官网 Python3的内存管理概述 python提供了对内存的垃圾收 ...

  4. FreeRTOS源码分析与应用开发10:内存管理

    目录 1. 概述 1.1 RTOS中内存分配特点 1.2 内存堆(heap space)来源 1.2.1 ucHeap数组 1.2.2 链接器设置的堆 1.2.3 多个非连续内存堆 1.3 关于字节对 ...

  5. C++解析(31):自定义内存管理(完)

    0.目录 1.遗失的关键字mutable 2.new / delete 3.new[] / delete[] 4.小结 5.C++语言学习总结 1.遗失的关键字mutable 笔试题: 统计对象中某个 ...

  6. 【FreeRTOS】内存管理

    在介绍本文之前,向大家推荐个非常容易入门的人工智能学习网站,建议点击收藏❤️ 目录: 概述 heap_1.c heap_2.c prvHeapInit pvPortMalloc vPortFree x ...

  7. c++ 动态分配数组_C与C++内存管理避坑指南

    1 引言 对于计算机程序处理而言,对内存的管理就像是对一片雷区的管理,管理的好,可以杀死一片一片的bug,管理的不好,将使你自己抓狂,程序漏洞百出,直至崩溃,据调查80%的程序崩溃都是内存的管理出现问 ...

  8. C语言程序设计 | 动态内存管理:动态内存函数介绍,常见的动态内存错误,柔性数组

    动态内存管理目录: 动态内存函数的介绍 常见的动态内存函数的错误 柔性数组 为什么会有动态内存管理呢 我们在日常使用中,创建一个数组,一个变量时都会开辟空间 如: int a; //在栈上开辟一个四字 ...

  9. golang 数组 最后一个_Golang 内存管理

    对 Golang 感兴趣的同学欢迎关注公众号:golang-experts Golang 的内存管理基于 tcmalloc,可以说起点挺高的.但是 Golang 在实现的时候还做了很多优化,我们下面通 ...

  10. 动态内存管理 - malloc、calloc、realloc、柔性数组

    目录 一.为什么存在动态内存分配 二.动态内存函数的介绍 1.1 malloc 1.2 free 1) 动态开辟多少个字节的内存空间,返回该空间的起始地址:且开辟的空间使用方法,类似于数组,是一块连续 ...

最新文章

  1. 服务器主机防御系统,主机入侵防御系统
  2. YII2框架的excel表格导出
  3. 2.shiro工作原理(以集成springboot为例)
  4. 全局变量名为 param1 var param1Value = webBrowser1.Document.InvokeScript(eval,new String[]{ param1}).To...
  5. node.js之打包工具webpack
  6. C# 4.0 的 Visual Studio 2010 官方示例
  7. eclipse 快捷键
  8. 老年代的更新机制_如何理解Java GC机制
  9. 微信公开课讲师黄咪咪:熟读规则,玩转小游戏
  10. HTML5学习笔记(六):CSS基本样式
  11. IntelliJ中可能的东西在Eclipse中是不可能的?
  12. JavaScript 小知识
  13. mysql 日期表:工作日、周末、节假日,星期
  14. 数据库MySQL语句期末复习 CTGU
  15. VMware虚拟机Linux----cents7系统安装操作
  16. 离散数学:判断任意一个关系是否为函数,若是函数,判定其是否为单射、满射或双射
  17. 音频编码方案之间音质比较(AAC,MP3,WMA等)
  18. 【C语言】打印出一箭穿心图案(简单版)----gotoxy函数
  19. 面试题 10.11. 峰与谷-快速排序
  20. 周鸿袆:360回归A股不是为炒股 是出于国家安全考虑

热门文章

  1. 20180130之PYTHON学习笔记【PYTHON3写个自动听课功能】
  2. webpack学习笔记--安装
  3. Windows Server 2012 下安装MySQL 5.6 X64位包
  4. ajax_异步交互-get/post方式
  5. JSON JsonArray和JsonObject学习资料
  6. cmd 发送接收邮件
  7. HDOJ 1428 漫步校园
  8. roller在eclipse中的部署
  9. 真不知写什么了,也就是很久没有做什么了
  10. 基于linux-2.6.35的class_create(),device_create解析