码迷,mamicode.com
首页 >  
搜索关键字:拷贝构造    ( 805个结果
C++ String类
设计String类 //C++ 设计String类:构造函数,拷贝构造函数,析构函数,赋值函数 #include using namespace std; class String { public: String(const char *str=NULL); String(const String&another); ~String(); String&operator=(cons...
分类:编程语言   时间:2014-07-26 02:59:16    阅读次数:383
c++ boost库学习三:实用工具
noncopyable大家都知道定义一个空类的时候,它实际包含了构造函数,拷贝构造函数,赋值操作符和析构函数等。这样就很容易产生一个问题,就是当用户调用Aa(“^_^")或者Ac="^_^" 时会发生一些意想不到的行为,所以很多时候我们需要禁用这样的用法。一种方法就是把拷贝构造函数和赋值操作符显式的...
分类:编程语言   时间:2014-07-24 04:58:18    阅读次数:300
【足迹C++primer】50、避免含糊转换
避免含糊转换 参数匹配和相互转换 struct B; struct A { A()=default; A(const B&) //吧B负责给A,拷贝构造函数 {//嘿,这里我有点明白了,只要 后面调用了这个函数,那么这个函数就得有定义 //不能只声明不定义 cout<<"调用了A(const B&)转换!"<<endl; }...
分类:编程语言   时间:2014-07-22 14:43:26    阅读次数:297
char数组与string转换
1、char数组转string有很多种方法:假设c字符串定义为char ch[]="hello world!";1.向构造函数传入c字符串创建string对象:string str(ch);2.使用拷贝构造函数创建string对象:string str = ch;3.对已有的string对象调用st...
分类:其他好文   时间:2014-07-21 14:39:47    阅读次数:226
避免在析构函数中编写代码
上篇文章中,我们介绍了为什么应该彻底避免编写拷贝构造函数和赋值操作符。今天这篇我们讨论下为什么应该避免在析构函数中编写代码。即让析构函数为空。 例如: virtual ~MyClass() { } 我们用空析构函数这个术语表示花括号内没有代码的析构函数。 需要编写析构函数可能有如下几个原因: 在基类中,可能需要声明虚拟析构函数,这样就可以使用一个指向基类的指针指向一个派生类的实例...
分类:其他好文   时间:2014-07-21 13:33:46    阅读次数:188
C++ 复制函数
C++ 复制函数        说道C++复制函数,大家也许并不陌生,就是类中的拷贝构造函数和赋值操作符,但是事实上也许我们一不小心就会忽略编译器所做的一些默认操作。引起晦涩的错误。下面分析几种场景: 一、场景一:全部默认 #include class base{ public: base(){} base(int dt):data(dt){} void get(){pri...
分类:编程语言   时间:2014-07-20 22:45:53    阅读次数:341
拷贝构造函数和赋值操作符
假设有一个如下的MyClass类: class MyClass { public: //构造函数 //拷贝构造函数 MyClass(const MyClass& that) : int_data_(that.int_data_), dbl_data_(that.dbl_data_), str_data_(that.str_data_) { } //赋值操作符 M...
分类:其他好文   时间:2014-07-19 23:46:08    阅读次数:350
0718-----C++Primer听课笔记----------运算符重载
0.两个要点a) 一个空类,编译器自动合成默认无参构造函数、析构函数、拷贝构造函数、赋值运算符。b) 在编写类的时候,必须严格区分对象是否可复制。1.运算符重载之 string类1.1 运算符重载的几个要点:a) 运算符重载可以有成员函数和友元函数的形式,后者比前者多一个参数。b) =和+=必须重载...
分类:编程语言   时间:2014-07-19 18:30:05    阅读次数:206
0717-----C++Primer听课笔记----------复制控制
1.默认拷贝构造函数 1.1 编译器自动为我们合成一个拷贝构造函数。A(const A &). 1.2 对象复制的时机: a) 显式复制。 b) 使用对象做形参 c) 使用对象做返回值 d) 往容器中放入对象 #include #include #include using na...
分类:编程语言   时间:2014-07-18 15:32:55    阅读次数:312
拷贝构造函数和赋值函数
在 C++ 中,赋值和拷贝是不同的,     1)拷贝构造函数是对未初始化的内存进行初始化操作     2)而赋值是对现有的已经初始化的对象进行操作。(这里我对“已经初始化”的理解是已经调用了构造函数,并且构造函数体可以未执行,只要调用到即可),赋值函数应该给所有数据成员都初始化。        3)重点:包含动态分配成员的类 应提供拷贝构造函数,并重载"="赋值操作符。...
分类:其他好文   时间:2014-07-16 13:42:16    阅读次数:186
805条   上一页 1 ... 75 76 77 78 79 ... 81 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!