C++中大致有三种返回值:值拷贝(副本),值引用和指针,返回什么类型的值要根据当时情况而定。 如果返回的是大型对象的副本,那么在每一次的函数调用后返回,都会调用该对象类型的拷贝构造函数构造一个新的副本,这是一个耗时的过程。 因此在不需要返回对象副本的时候,尽量返回对象的引用或者指针,与此同时,如果不 ...
分类:
编程语言 时间:
2016-05-07 18:03:36
阅读次数:
242
计数排序1、 名次 :所谓名次,通俗理解即为该元素在序列中排行老几的意思。2.、如何求名次:依次对每一个元素进行比较,若排在自己(该元素)前面的元素比自己大,则前面的元素在排行计数上加1,反之则自己加1。3、利用附加数组的计数排序:根据自身名次重新整理一份排序序列存储在附加数组中,然后将附加数组值拷贝到原序列中。
1)代码:template void SortClass...
分类:
编程语言 时间:
2016-04-29 17:44:37
阅读次数:
251
计数排序1、 名次 :所谓名次,通俗理解即为该元素在序列中排行老几的意思。2.、如何求名次:依次对每一个元素进行比较,若排在自己(该元素)前面的元素比自己大,则前面的元素在排行计数上加1,反之则自己加1。3、利用附加数组的计数排序:根据自身名次重新整理一份排序序列存储在附加数组中,然后将附加数组值拷贝到原序列中。
1)代码:template void SortClass...
分类:
编程语言 时间:
2016-04-26 19:54:39
阅读次数:
184
今天在看前辈的代码,对其中字符串复制有时候直接把指针赋给另一个指针,有的malloc一个内存,然后把整个字符串的值拷贝过来,有点费解,就研究了一下,会了之后发现也没什么奥秘,其实很简单,不过还是记录一下比较好。 先写结论:如果要拷贝的源字符串的内存会被回收,那么就必须malloc一个内存再拷贝整个字 ...
分类:
编程语言 时间:
2016-04-14 22:03:01
阅读次数:
189
1. 数组参数退化为指针的意义 (1)C语言中只会以值拷贝的方式传递参数,当向函数传递数组时,将整个数组拷贝一份传入函数导致执行效率低下,C语言以高效作是最初的设计目标,所以这种方法是不可取的。 (2)参数位于栈上,太大的数组拷贝将导致栈溢出。 (3)将数组名看做常量指针,传递的是数组的首元素地址, ...
分类:
编程语言 时间:
2016-04-03 14:29:05
阅读次数:
187
浅拷贝:对指针的拷贝,拷贝后两个指针指向同一个内存空间。采用“位拷贝” 深拷贝:对指针指向的内容进行拷贝,经深拷贝后的指针是指向两个不同地址的指针。 采用“值拷贝” 简单形象的理解为:欲对仓库的东西进行管理,采用浅拷贝的方法,就是把原仓库的钥匙另外配置一把(对应指针),两把钥匙现在均可以打开仓库的大 ...
分类:
其他好文 时间:
2016-03-31 20:30:44
阅读次数:
132
以string类为例:位拷贝拷贝的是地址,而值拷贝拷贝的是内容。若定义string类的两个对象为str1,str2。str1._str和str2._str分别指向一块空间。str1._str=“zhang”,str2._str=“tian”。若默认拷贝构造函数,即str1(str2)。编译器将str2进行一份位拷贝。str1和str2指向同一块..
分类:
编程语言 时间:
2016-03-12 14:56:19
阅读次数:
219
复合类型:基于其它类型定义的类型。 1.引用(reference) 含义:对象的另外的名字,引用另外一种类型,使用“&声明符”的形式定义。 引用即别名,引用不是一个对象,只是已经存在的对象的另外一个名字,因此定义引用必须初始化,且不能定义引用的引用。 一般初始化变量,是将初始值拷贝到新对象中去,而定
分类:
编程语言 时间:
2016-03-11 01:05:03
阅读次数:
324
函数不能返回指向栈内存的指针!因为返回的都是值拷贝! char *str = "abcd"这样就是字符串常量,这种能返回,而char str[] = "abcd"就不能在函数中返回了,因为这个是局部变量,函数结束后就内存释放了 如果非要进行返回局部变量,就只能用static来限制局部变量了,这样函数
分类:
编程语言 时间:
2016-03-08 23:55:28
阅读次数:
259
什么是浅拷贝(shallow copy)和深拷贝(deep copy)? 浅拷贝就是成员数据之间的一一赋值:把值一一赋给要拷贝的值。但是可能会有这样的情况:对象还包含资源,这里的资源可以是堆资源,或者一个文件。。当值拷贝的时候,两个对象就有用共同的资源,同时对资源可以访问,这样就会出问题。深拷贝就是
分类:
其他好文 时间:
2016-02-27 00:58:58
阅读次数:
205