VC&operate =操作(重载)解释
来源:互联网 发布:英雄联盟mac版本下载 编辑:程序博客网 时间:2024/05/29 17:30
const LLType &operator=(const LLtype&);
//这里面的LLType不是一个结构体,而是一个结构体模板,结构体模板是不能定义对象的,
比如下面定义一个结构体模板:templatestruct LLType{//一些数据和函数的声明};在使用的时候必需要有一个类型将这个模板结构实例化后才能定义对象,
比如上面的是以Type类型来实例化这个模板结构,实例化之后的用法就和普通结构体的用法一样了整个函数是重载一个赋值运算符(=),
即能使用Type类型实例化的结构能够进行你自己定义的赋值操作,其实结构体的赋值系统有定义,只不过为了让自己的意愿赋值或者里面要动态申请空间(有关深拷贝与浅拷贝的问题)才重载一下=运算符的.const说明这个函数返回的是一个常量,第二个const说明传递的参数不会改变(不过也可以通过特殊的方式进行改变,
比如用const_cast进行强制转换),这里是赋值,所以不希望=右边的变量发生改变,所以就采用这种方式,返回的值设计成引用,这个是为了实现多次=,比如A=B=C=D;
TVideo &operator=(const TVideo&);
这是赋值运算符重载的标准格式,形参为本类对象的常引用,返回值是本类对象自己的引用可以做左值,只能用类的成员重载重载赋值运算符用于类中有动态分配成员时,本类对象相互赋值用,为避免C++默认按位赋值方式带来的一系列问题,用户必须重载该函数,
习惯上默认的按位赋值称为浅拷贝,有动态分配成员时的复制称为深拷贝。当然,即使类没有动态分配成员时,也可以重载该赋值运算符,不过不是特殊目的一般多余
- VC&operate =操作(重载)解释
- VC operate FIledlg
- vc operate profilestring
- c++操作符重载(部分概念解释)
- operate
- VC++基础 操作符的重载
- operate new()和new operate的区别
- vc中new和delete操作符的重载
- vc中new和delete操作符的重载(参考资料)
- VC++6.0下的输入输出操作符重载问题解决
- java file 文件操作 operate file of java
- 重载赋值操作operator=()
- C++-重载操作符<< >> = + - * /
- C++ 重载=操作符
- 单链表中重载操作符“=”
- 操作符重载(花絮)
- 重载操作符(2)
- 操作符重载(C++)
- 2013年开发者需要了解的10大开发趋势和技能
- JSP中传参中文乱码
- 利用dispatch_once创建单例
- VOID N2
- 神十载人飞船发射成功大家什么心情?
- VC&operate =操作(重载)解释
- 巧用Windows 7游戏管理器
- 加载dll
- Struts2、Spring3、MyBatis3整合ExtJS,完成ColumnTree 【一】
- JSP之JSTL functions
- 批处理文件
- every day learn,the knowlege I do not know very well
- 解决在VS2010下利用def文件使dll输出函数不改名的方法
- Cocos2d-x建工程时避免copy文件夹和库