在python中,对象赋值实际上是对象的引用。当创建一个对象,然后把它赋给另一个变量的时候,python并没有拷贝这个对象,而只是拷贝了这个对象的引用 一般有三种方法, alist=[1,2,3,['a','b']] (1)直接赋值,传递对象的引用而已,原始列表改变,被赋值的b也会做相同的改变 (2 ...
分类:
编程语言 时间:
2016-08-25 20:15:37
阅读次数:
131
参考:http://www.cnblogs.com/Eva-J/p/5534037.html 对于 数字 和 字符串 而言,赋值、浅拷贝和深拷贝无意义,因为其永远指向同一个内存地址。(可以把数字,字符串看作是内存中最小的地址) 对于字典、元祖、列表 而言,进行赋值、浅拷贝和深拷贝时,其内存地址的变化 ...
分类:
其他好文 时间:
2016-08-24 19:20:18
阅读次数:
237
初学iOS时候,发现有的代码通过self.xxx访问,有时通过_xxx访问,一直搞不清楚有什么区别。其实,通过self.xxx是对属性进行访问,本质是调用属性的setter方法,属性的引用计数器会+1;_xxx是直接对成员属性进行访问,是对指针的赋值,引用计数器没发生改变。下面,通过代码来看一下。 ...
分类:
其他好文 时间:
2016-08-24 14:21:13
阅读次数:
107
4.深拷贝和浅拷贝 (1)什么时候会用到拷贝函数 一个对象以值传递的方式传入函数(就是作为入参) 一个对象以值传递的方式从函数返回(就是作为返回值) 一个对象需要通过另外一个对象进行初始化 (2)是否应该自定义拷贝函数 如果不自己定义拷贝函数,那么编译器会自动生成一个默认的拷贝函数,这个拷贝函数就会 ...
分类:
编程语言 时间:
2016-08-24 11:19:20
阅读次数:
136
String类的简单实现:
1、在拷贝构造函数和赋值运算符重载这两个函数中有浅拷贝和深拷贝的问题
2、要对输入输出函数重载
3、赋值运算符重载有两种方式。注意在采用交换实现的时候函数的参数只能是临时变量
class String
{
friend ostream& operator<<(ostream& os, String& s);
friend istream& opera...
分类:
其他好文 时间:
2016-08-23 13:23:36
阅读次数:
159
本章内容: 深浅拷贝 函数(全局与局部变量) 内置函数 文件处理 三元运算 lambda 表达式 递归(斐波那契数列) 冒泡排序 深浅拷贝 import copy copy.copy() copy.deepcopy() 函数 def 内置函数 dir(__builtins__) 文件处理 open ...
分类:
编程语言 时间:
2016-08-22 16:10:44
阅读次数:
125
转载至:http://www.cnblogs.com/liu-yao/p/5146505.html 一.集合 1.集合(set): 把不同的元素组成一起形成集合,是python基本的数据类型。集合元素(set elements):组成集合的成员 python的set和其他语言类似, 是一个无序不重复 ...
分类:
编程语言 时间:
2016-08-21 22:43:02
阅读次数:
337
Cloneable接口是一个空接口,仅用于标记对象,Cloneable接口里面是没有clone()方法,的clone()方法是Object类里面的方法!默认实现是一个Native方法 如果对象implement Cloneable接口的话,需要覆盖clone方法(因为Object类的clone方法是 ...
分类:
编程语言 时间:
2016-08-16 23:59:55
阅读次数:
392
string类是C++的一个常见的面试题,考查面试者的基本功,虽然简单,但是有很多细节需要注意。#pragmaonce
#include<assert.h>
/*
深拷贝与浅拷贝:
浅拷贝,只是对指针的拷贝,拷贝后两个指针指向同一个内存空间,深拷贝不但对指针进行拷贝,
而且对指针指向的内容进..
分类:
编程语言 时间:
2016-08-16 22:15:52
阅读次数:
192
原文:http://www.jb51.net/article/15714.htm 1. copy.copy 浅拷贝 只拷贝父对象,不会拷贝对象的内部的子对象。2. copy.deepcopy 深拷贝 拷贝对象及其子对象一个很好的例子: import copya = [1, 2, 3, 4, ['a' ...
分类:
编程语言 时间:
2016-08-15 22:10:49
阅读次数:
184