• 原型模式


    浅拷贝:就是给对象中的每个成员变量进行复制,就是把A1类中的变量直接赋给A2类中变量,属于值传递,但是涉及到有new之类内存分配的地方,他们却是共享内存的。
    
    深拷贝:就是不仅使用值传递,而是要每个变量都有自己一份独立的内存空间,互不干扰。
    常用场景
    基本就是你需要从A的实例得到一份与A内容相同,但是又互不干扰的实例的话,就需要使用原型模式。
    优点
    1.使用拷贝模式比直接new一个对象的开销要小的多。
    
    2.可以在程序运行时(对象属性发生了变化),得到一份内容相同的实例,但之间还不会相互干扰。
    class Resume
    {
    public:
        string name;
        Resume(string s) { name = s; }
        void setName(string s) { name = s; }
        Resume *clone()
        {
            Resume *p = new Resume(name);
            *p = *this;
            return p;
        }
    };
    int main()
    {
        Resume *r1 = new Resume("Li");
        Resume *r2 = r1->clone();
        cout << r1->name << endl;
        r2->setName("Liu");
        cout<< r2->name <<endl;
        return 0;
    }
  • 相关阅读:
    iOS UI调试神器,插件injection for Xcode使用方法
    iOS 开发笔记-Objective-C之KVC、KVO
    iOS 测试企业应用的分发
    iOS 阅读唐巧博客心得
    iOS 添加启动图片
    Xcode 常用命令
    iOS 开发笔记
    iOS 开发常用链接总结
    iOS
    iOS UI基础
  • 原文地址:https://www.cnblogs.com/osbreak/p/10111727.html
Copyright © 2020-2023  润新知