我们知道Java中的对象都是存在于堆内存中的,而堆内存是可以被垃圾回收器不定期回收的。从对象被创建到被回收这一段时间就是Java对象的生命周期,也即Java对象只存活于这个时间段内。
对象被垃圾回收器回收意味着对象和对象中的成员变量所占的内存也就被回收,这意味着我们就再也得不到该对象的任何内容...
分类:
编程语言 时间:
2014-05-06 01:20:00
阅读次数:
392
1、static_cast和dynamic_cast的类型检查
static_cast的类型检查:只检查无关类之间的转换 CBaseY* pY1 = static_cast(pX); // 错误,编译未通过,
类型指向是无关的 (解释:指针变量PX是CBaseX类,现在要将其转换为CBaseY类(和...
分类:
其他好文 时间:
2014-05-06 00:34:38
阅读次数:
295
题目链接很简单的递推,但是写代码的过程中,犯了一个严重的错误,就是我用unsigned
int型变量>= 0 作为循环条件(而且是降序)的时候,出现了问题。附上代码: 1 class Solution { 2 public: 3 int
minimumTotal(vector > &tria...
分类:
其他好文 时间:
2014-05-06 00:10:57
阅读次数:
335
命名的返回值优化:
针对返回一个局部的变量的优化,可以直接用返回的结果对象直接替代局部变量,从而减少了一个复制拷贝,从而提高效率。比如 一个函数如下:X bar(){ X xx;
// .. 处理xx return xx;}而在编译器看来则是如下的代码: // 此处的_resu...
分类:
其他好文 时间:
2014-05-06 00:01:10
阅读次数:
442
全局和静态数据区:用于存放全局变量和静态变量(全局变量和局部变量)常量数据区:用于存放常量数据代码区:用于存储代码栈:用于局部变量和函数参数堆:程序员申请(程序员控制的部分,new/delete#include
#include int gGlobal=100; // global int main...
分类:
编程语言 时间:
2014-05-05 23:48:12
阅读次数:
391
1.const修饰普通变量和指针const修饰变量,一般有两种写法:constTYPEvalue;TYPEconstvalue;这两种写法在本质上是一样的。它的含义是:const修饰的类型为TYPE的变量value是不可变的。对于一个非指针的类型TYPE,无论怎么写,都是一个含义,即value只不可...
分类:
编程语言 时间:
2014-05-05 23:46:44
阅读次数:
351
1.利用返回值而不是副作用来写程序(副作用包含破坏性修改对象以及对变量赋值).2.需要返回多个值请使用multiple-value-bind和values的组合方式.3.函数式编程需要思考你要什么,而不是要怎么做.4.一个给定的调用可以安全的修改它唯一拥有的东西(函数拥有被调用函数返回的对象,但不拥...
分类:
其他好文 时间:
2014-05-05 23:30:48
阅读次数:
358
1 需要明白概念:执行环境变量对象,活动对象作用域,作用域链闭包垃圾处理机制闭包陷阱
分类:
编程语言 时间:
2014-05-05 23:29:49
阅读次数:
326
堆和栈的区别一、预备知识—程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)—由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap)—一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收。注意它与数...
分类:
编程语言 时间:
2014-05-05 23:23:31
阅读次数:
499
OC方法和文件编译一、OC方法(一)对象方法(1)对象方法以-开头如-(void)xx;(2)对象方法只能又对象来调用(3)对象方法中可以访问当前对象的成员变量(4)调用格式[对象名对象方法名];(5)设计一个学生类和狗类,练习对象方法的使用。学生类的声明:学生类的实现:狗类的声明:狗类的实现:主程...
分类:
其他好文 时间:
2014-05-05 23:09:24
阅读次数:
344