原文来自:http://www.cnblogs.com/xloogson/p/3360847.html1.C++最通用的模板交换函数模式:创建临时对象,调用对象的赋值操作符1 template void swap ( T& a, T& b ) 2 { 3 T c(a); 4 a...
分类:
编程语言 时间:
2014-12-25 14:31:42
阅读次数:
236
只有对象 才需要内存管理,基本数型类型不需要。
对象的 release、retain、retainCount方法说明:
release 引用计数-1
retain 引用计数加1,返回对象本身
retainCount 返回引用计数的数目...
分类:
编程语言 时间:
2014-12-24 11:46:23
阅读次数:
127
复合赋值操作符有:+=、-=、*=、/=、%=、<<=、>>=、>>>=、&=、^=和|=;简单赋值操作符为=;如下所示代码:publicclassExample009{
publicstaticvoidmain(String[]args){
shortx=1;
intx1=1;
inti=123456;
x+=i;//赋值1
x1+=i;//赋值2
S..
分类:
编程语言 时间:
2014-12-24 06:35:15
阅读次数:
166
今天在看《Effective C++》的Item 10时,书中说道,赋值操作符需要返回的是对*this的引用。例如:class Widget {public: ... Widget& operator += (const Widget& rhs) { ... ...
分类:
其他好文 时间:
2014-12-16 16:47:00
阅读次数:
136
引言在条目20中,我们知道了值传递和引用传递的效率问题,因此在设计程序时,我们可能就尽可能来返回引用而不是值。可是,可能会犯下面的一些错误:传递一些引用指向其实并不存在的对象。第一节:返回临时变量的引用假如我们有以下的例子,先看值传递 1 class A { 2 public: 3 A(in...
分类:
其他好文 时间:
2014-12-16 13:05:01
阅读次数:
172
1.1赋值操作符x+=y;相当于 x=x+y; //一下计算方法都一样x-=y(减);x*=y;x/=y;x%=y;x >= y; x &= y;x ^= y;x |= y;1.2 符号说明% (取余);++ (自增);-- (自减);& 按位与;| 按位或;^按位异或;~a求反;>右移;>>> 逻...
分类:
编程语言 时间:
2014-12-16 11:22:52
阅读次数:
256
很早之前,忘了是看书还是别人介绍了,说STL里有一些类型检查的东西,比如vector里面会检查是否定义了赋值操作符,还有的检查是否有默认参数的构造函数之类的。看STL源码的时候发现了一个concept_check的头文件,发现其中的内容还真是不少。有一些就是做这种检查的。
STL默认提供了很多种操作的检查,比如:
_Allocator
_Assignable
_DefaultConstru...
分类:
其他好文 时间:
2014-12-15 21:52:51
阅读次数:
164
无法返回引用数据传递包括两种,返回值和参数。很可惜,newlisp的返回值只进行值拷贝,也就是返回副本,并没有方法返回引用。那么看看参数吧,通过参数有两种方法传递引用,一种是通过使用单引号,比如:单引号symbol传递参数引用(define (change-list aList) (push 999 (eval aList)))
(set 'data '(1 2 3 4 5))
; note...
分类:
其他好文 时间:
2014-12-14 20:02:05
阅读次数:
247
简单分析总结了more effective c++ 的前十个条款:剩下的条款to be continue~1.仔细区分指针和引用引用必须不能指向空,指针可以指向空,指针初始化是记得赋空值,重载某些操作符时(例如[])应该返回引用。2.最好使用C++转型操作符旧式的C转型应该少用,尽量使用新的C++的...
分类:
编程语言 时间:
2014-12-14 10:36:14
阅读次数:
188
在leet code上做题遇到了一个坑,算法总认为自己写得没有问题,处理流程造就烂熟于心,用X code调试发现还是疏忽了:C++返回引用和返回对象的差别,在一个函数结束的地方返回了一个临时对象的引用! 根据以往的经验,引用是C++程序中高效能的法宝,节省了对象复制拷贝时的开销,但是滥用引用也...
分类:
其他好文 时间:
2014-12-07 21:36:41
阅读次数:
185