如果没有显式的定义复制构造函数和赋值操作符以及析构函数,编译器会为我们定义。复制构造函数:(1)是一种特殊的构造函数,具有单个形参,该形参(常用const修饰)是对该类类型的引用。(2)当定义一个新对象并用一个同类型的对象对它进行初始化时,将显式的使用复制构造函数。(3)当将该类型的对象传递给函数或...
分类:
其他好文 时间:
2015-08-30 19:11:17
阅读次数:
172
主要内容: 1.函数的声明和调用 2.函数间的参数传递 3.内联函数 4.带默认形参值得函数 5.函数重载 6.C++系统函数 调用出现在函数体实现之前时,默认形参值必须在函数原型中给出。调用出现在函数体实现之后时,默认形参值需要在函数实现时给出。 eg: int add(...
分类:
其他好文 时间:
2015-08-29 16:43:00
阅读次数:
133
blockblock用来保存一段代码block的标志:^block跟函数很像:可以保存代码、有返回值、有形参、调用方式跟调用方法一样block内部可以访问外面的变量默认情况下,block内部不能修改外面的局部变量给局部变量加上__block关键字,这个局部变量就可以在block内部修改利用typed...
分类:
其他好文 时间:
2015-08-29 12:26:47
阅读次数:
154
一.函数与形参1.函数function abs(x) { if (x >= 0) { return x; } else { return -x; }}alert(abs(-10));2.匿名函数var abs = function (x) { if...
分类:
编程语言 时间:
2015-08-28 00:27:49
阅读次数:
175
一.相同点:1.都遵循变量的声明格式:(修饰符) 数据类型 变量名=初始化值 2.都有各自的作用域二.不同点:1.声明的位置不同 成员变量:声明在类内,方法外。 局部变量:声明在方法内、方法的形参部分、代码块内 2.成员变量的修饰符有四个:public private protected ...
分类:
其他好文 时间:
2015-08-27 22:30:06
阅读次数:
141
java沿用了c++的构造器,使用一个和类名完全一样的方法作为类的构造器,可以有多个构造器来通过不同的参数进行构造,称为重载;不仅是构造器可以重载,其他方法也一样通过不同的形参以及不同的返回值来实现重载;当创建一个新的对象的时候,java就需要对该对象进行初始化(如果没有创建构造器,java会自动创...
分类:
编程语言 时间:
2015-08-27 01:58:15
阅读次数:
189
复制实参的局限性(值传递)不适合复制实参的情况包括:
当需要在函数中修改实参的值时。
当需要以大型对象作为实参传递时。对实际的应用而言,复制对象所付出的时间和存储空间代价往往过大。
当没有办法实现对象的复制时。
通过引用传递数组通常,数组以非引用类型传递,此时数组会转换为指向第一个元素的指针,形参中数组大小并没有意义。然而如果形参是数组的引用,则编译器不会将数组实参转化为指针,而是传递数组引用本身...
分类:
编程语言 时间:
2015-08-26 22:28:25
阅读次数:
205
---恢复内容开始---1、js 里函数调用有 4 种模式:方法调用、正常函数调用、构造器函数调用、apply/call 调用。同时,无论哪种函数调用除了你声明时定义的形参外,还会自动添加 2 个形参,分别是 this 和arguments。2、apply:apply 函数接收 2 个参数,第一个是...
分类:
移动开发 时间:
2015-08-25 18:35:20
阅读次数:
125
C++为我们提供了函数模板机制。所谓函数模板,实际上是建立一个通用函数,其函数类型和形参类型不具体指定,用一个虚拟的类型来代表。这个通用函数就称为函数模板。
凡是函数体相同的函数都可以用这个模板来代替,不必定义多个函数,只需在模板中定义一次即可。在调用函数时系统会根据实参的类型来取代模板中的虚拟类型,从而实现了不同函数的功能。
为什么要有函数模板
下面,我们就通过一个例子来说...
分类:
编程语言 时间:
2015-08-25 16:56:27
阅读次数:
188
1 指针作为参数传递其实也是值传递,传递的是一个地址值(和普通的值传递一样)。值传递时函数将形参被当做函数的局部变量来处理,就是在栈上开辟了内存空间来存放形参void swap(int* a, int* b){ int t = *a; *a = *b; *b = t;}//这样并不能交换a,bvoi...
分类:
其他好文 时间:
2015-08-25 13:26:52
阅读次数:
132