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

#import <Foundation/Foundation.h>
#import "Dog.h"int main(int argc, const char * argv[]) {@autoreleasepool {Dog *dog1 = [[Dog alloc] init];Dog *dog2 = [[Dog alloc] init];Dog *dog3 = [[Dog alloc] init];Dog *dog4 = [[Dog alloc] init];Dog *dog5 = [[Dog alloc] init];//往数组中添加对象, 对应对象的retainCount 值+1;NSLog(@"dog1 retainCount = %li", dog1.retainCount);NSMutableArray *dogs = [[NSMutableArray alloc] init];[dogs addObject:dog1];//dogs[0]-->dog1[dogs addObject:dog1];//dogs[1]-->dog1NSLog(@"dog1 retainCount = %li", dog1.retainCount);[dogs addObject:dog2];//dogs[2]-->dog2
        [dogs addObject:dog3];[dogs addObject:dog4];[dogs addObject:dog5];[dog1 release];[dog2 release];[dog3 release];[dog4 release];[dog5 release];NSLog(@"dog1 retainCount = %li", dog1.retainCount);//数组对象release 实际上是对数组中的每个一个元素 release 一次
        [dogs release];//NSLog(@"dog1 retainCount = %li", dog1.retainCount);
        }return 0;
}

转载于:https://www.cnblogs.com/0515offer/p/4586975.html

OC10_数组的内存管理相关推荐

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

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

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

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

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

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

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

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

  5. 【FreeRTOS】内存管理

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

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

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

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

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

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

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

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

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

最新文章

  1. 业界丨2018年能干大事儿的5家人工智能初创公司
  2. Juniper 防火墙简明配置手册
  3. RocketMQ介绍与云服务器安装
  4. 理科大学二本计算机系,大学最好就业的二本专业:高校男生女生二本理科比较好的专业...
  5. 写给大数据开发初学者的话
  6. 3143 二叉树的序遍历
  7. 多态部分作业 3..创建Rodent(啮齿动物):Mnouse(老鼠),Gerbil(鼹鼠),Hamster(大颊鼠)
  8. Spark Yarn-cluster与Yarn-client
  9. T-SQL Enhancement in SQL Server 2005[下篇]
  10. python爬虫--requests模块
  11. JAVA发送邮件(163邮箱发送)
  12. 餐饮营销策划案例合集(共18份)
  13. 【恩智浦杯(飞思卡尔)全国大学生智能汽车竞赛】解读部分北科技术报告图像处理内容(点到为止)
  14. 证券公司主要信用业务(融资融券、股票质押、约定购回)
  15. cefsharp启动优化
  16. matlab二重定积分_matlab 对于变限积分的计算,二重积分 三重积分
  17. Unity InControl插件 按键映射对照表
  18. 科技云报道:中国电子云曹心驰:做成云计算“国家队”该有的样子
  19. 板鸭豆子红辣椒袋鼠的世界杯
  20. 迅软信息签约安龙基因医药技术构建医药行业防护体

热门文章

  1. 计算机科学与导论论文样例,计算机科学导论论文684413422
  2. 职场撕逼中如何保护自己
  3. C++:最小二乘法拟合直线
  4. EXCEL——VLOOKUP双条件匹配
  5. 15.JDK8新特性之Stream流
  6. 在ipad任意界面都可以写字_用iPad (含pencil)作医学生的学习工具使用技巧分享第三集...
  7. 软件测试是背锅,测试如何少背锅”
  8. cmake使用教程(实操版)(六)
  9. 在线文档分享平台技术实现探讨
  10. 计算机毕业设计-基于SSM的网约车出行APP-JavaWeb网约车出行APP