1. cout<<从右到左放进缓存,按值的传递,接着从左到头输出。 2.引用更接近const指针,必须在创建时进行初始化。 3.将引用参数声明为const(在参数不准确时)可以使函数能够正确生产并使用临时变量。 4.返回引用。如果不是返回引用的话,首先要将返回的值赋值给一个临时变量,再将临时变量赋值 ...
分类:
其他好文 时间:
2016-07-24 17:45:36
阅读次数:
132
shell编程的重要性:
对于hadoop程序员,通常需要熟悉shell编程,因为shell可以非常方便的运行程序代码。
shell文件格式:文件名后缀通常是.sh
#!/bin/sh[先指定文件下面用的是哪一个sh]
#这里是注释shell中的变量:
(1)变量不需要声明,初始化不需要指定类型
(2)变量名称只能有字母、数字、下划线组成,不能使用数字开头
(3)分类: 临时变量...
分类:
系统相关 时间:
2016-07-20 17:57:30
阅读次数:
317
总结: 1 栈:为编译器自动分配和释放,如函数参数、局部变量、临时变量等等 2 堆:为成员分配和释放,由程序员自己申请、自己释放。否则发生内存泄露。典型为使用new申请的堆内容。 除了这两部分,还有一部分是: 3 静态存储区:内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。它主 ...
分类:
其他好文 时间:
2016-07-15 00:35:50
阅读次数:
127
1.返回非引用类型。 函数运行结束时,会释放掉临时变量,但临时变量的空间即地址和空间的值不会被释放掉。因此不能返回临时变量的指针和引用。指针应该是和其所指向的对象同时存在的,不能让其成为悬垂指针,这样可能导致程序崩溃。 函数的返回值用于初始化在调用函数处所创建的临时对象。临时对象的初始化方法和实参初 ...
分类:
其他好文 时间:
2016-07-09 10:27:10
阅读次数:
125
如图,本来以为m=m++和m++是同一个效果,没想到m的值居然还是0. 原来m++是一个表达式,是有返回值的,它的返回值就是m自加前的值,Java对自加是这样处理的:首先把m的值(注意是值,不是引用)拷贝到一个临时变量区,然后对m变量加1,最后返回临时变量区的值。程序第一次循环时的详细处理步骤如下: ...
分类:
其他好文 时间:
2016-06-28 23:29:45
阅读次数:
173
先上结论 golang的所有内置类型作为函数参数传递都是传值的方式(没有传递引用一说),需要注意的是:数组、slice和map作为函数参数时也是传值,但是如果对结构内元素进行的修改,修改的是原数据。如果是对其进行整体赋值,则不会修改原数据,相当于拷贝出一个新的临时变量。要想无论什么情况都修改原数据, ...
分类:
其他好文 时间:
2016-06-28 12:15:15
阅读次数:
184
1.全局变量 (1)使用static全局变量。 (2)不要在头文件中extern,需要时写函数来get。 (3)每个定义了全局变量的cpp文件需要在头文件里extern一个finalize函数可以被主动调用,用来干掉所有临时变量并让get函数在之后调用始终抛异常,把内存泄漏的噪音降为0。 2.简单排 ...
分类:
编程语言 时间:
2016-06-23 17:20:36
阅读次数:
181
// 1. 用一个临时变量保存返回值。 CGRect temp = self.view.frame; // 2. 给这个变量赋值。 temp.size.width = kWIDTH; // 3. 修改frame的值 self.view.frame = temp; ...
分类:
其他好文 时间:
2016-06-21 15:29:57
阅读次数:
281
_BLOCK_TYPE_IS_VALID宏用来检测这个内存块在当前堆上是否有效,但是这里的指针是一个临时变量,临时变量是在栈上分配的,函数清理栈时会自动回收这些内存,程序员无需管理。 new 和 malloc申请的内存是位于堆上面,程序不会自动清理,这就是区别所在。 因此,检查所释放(delete ...
分类:
其他好文 时间:
2016-06-17 23:53:13
阅读次数:
207