zoukankan      html  css  js  c++  java
  • 属性关键字面试题

    读写权限

    readonly

    readwrite

    原子性

    atomic 赋值和获取是线程安全 例如用atomic修饰一个数组,对这个数组赋值和获取是线程安全的,但是如果操作数组,例如增删元素,那不在atomic有效范围内

    nonatomic

    引用计数

    retain/strong

    assign(可以修改对象和基本数据类型)/unsafe_unretained(mrc使用)

    weak

    copy

    assign

    修饰基本数据类型,如int BOOL等

    修饰对象类型时,不改变其引用计数

    会产生悬垂指针。(assign修饰的对象 被释放之后 指针还是指向原地址)

    weak

    修饰对象类型时,不改变其引用计数

    所指向对象在被释放之后会自动置nil

    浅拷贝特点:

    多了个指针的指向 增加了引用计数

    没有发生新的内存分配

    深拷贝特点:

    不会添加被拷贝对象的引用计数

    产生了一个内存分配

    区分深拷贝 浅拷贝

    是否开辟了新的内存空间

    是否影响了引用计数

    copy关键字

    可变对象的copy和mutableCopy都是深拷贝

    不可变对象的copy是浅拷贝 mutableCopy是深拷贝

    copy方法返回的否是不可变对象

    执行add remove方法就会crash

  • 相关阅读:
    vector
    vector-back
    vector-back
    vector-begin
    vector-begin
    vector-at
    vector-at
    Vector-assign
    Vector-assign
    Vector-Constructors
  • 原文地址:https://www.cnblogs.com/WellLin/p/12711597.html
Copyright © 2011-2022 走看看