1.资源对象没关闭造成的内存泄漏
描述:
资源性对象比如(Cursor,File文件等)往往都用了一些缓冲,我们在不使用的时候,应该及时关闭它们,以便它们的缓冲及时回收内存。它们的缓冲不仅存在于 java虚拟机内,还存在于java虚拟机外。如果我们仅仅是把它的引用设置为null,而不关闭它们,往往会造成内存泄漏。因为有些资源性对象,比如 SQLiteCursor(在析构函数finalize()...
分类:
移动开发 时间:
2014-11-29 14:41:09
阅读次数:
212
1. C的结构体和C++结构体的区别(1)C的结构体内不允许有函数存在,C++允许有内部成员函数,且允许该函数是虚函数。所以C的结构体是没有构造函数、析构函数、和this指针的。(2)C的结构体对内部成员变量的访问权限只能是public,而C++允许public,protected,private三...
分类:
编程语言 时间:
2014-11-29 13:16:06
阅读次数:
116
简单的字典树应用,在建树的时候判断就行了。需要注意的语法:在使用malloc和free来处理动态内存的时候,仅仅是释放了这个对象所占的内存,而不会调用这个对象的析构函数;使用new和delete就可以既释放对象的内存的同时,调用这个对象的析构函数。所以建立trie时用new更方便一些。注意要每组数据...
分类:
其他好文 时间:
2014-11-28 06:15:59
阅读次数:
171
C++编程语言中,对于常量的引用是一个非常重要的应用技巧。在这篇文章中,我们将会为大家详细介绍一下有关C++常量引用的相关应用方法,相信大家可以从中学到很多知识。
C++单例模式基础内容详解C++创建Web服务相关方法剖析C++构造函数如何进行初始化C++标识符命名规则相关应用技巧分享C++函数模板基本概念讲述
如果是对一个常量进行引用,则编译器首先建立一个临时变量,然后将该常量的...
分类:
其他好文 时间:
2014-11-27 22:08:54
阅读次数:
166
1,避免‘\n’等特殊字符的两种方式: 1,利用转义字符‘\’ 2,利用原始字符‘r’printr‘c:\now‘3,字符串中嵌入双引号等特殊符号 1,利用转义字符‘\’ 2,使用单引号括起这个字符串print(‘il"o"vefis.com‘)2,跨越多行的字符串。使用三个‘‘‘........‘‘‘4,条件分支: ifconditi..
分类:
编程语言 时间:
2014-11-27 18:41:59
阅读次数:
284
一、虚函数表原理
陈皓的一篇blog讲的很透彻:http://blog.csdn.net/haoel/article/details/1948051/
虚函数表可以分为:单一继承无虚函数覆盖、单一继承有虚函数覆盖、多重继承无虚函数覆盖和多重继承和有虚函数覆盖。
注意与虚拟继承区分开来
二、多态实现原理
多态则是通过继承、虚函数(virtual)、指针来实现。...
分类:
编程语言 时间:
2014-11-27 18:38:48
阅读次数:
130
构造过程和析构过程阶段构造Swift 的构造过程分为两个阶段:第一个阶段,每个存储型属性通过引入自己的构造器来设置初始值。第二个阶段,在新实例准备使用之前进一步定制存储型属性。安全检查在构造的过程中, Swift 会进行四种安全检查。安全检查 1指定构造器必须保证它所在类引入的所有属性都必须先初始化完成,之后才能将其它构造任务向上代理给父类中的构造器。比如下面这段代码就是错误的:class Foo...
分类:
编程语言 时间:
2014-11-27 18:28:53
阅读次数:
190
一、编译器为空类生成函数的原型以及函数创建的时机
在C++中当创建一个空类时,C++就会默认的为这个类创建4个函数:默认的构造函数、析构函数、拷贝构造函数、以及赋值操作符。
C++中创建一个空类:
class Empty {};
默认会生成4个函数,其函数的原型如下:
public: Empty() { ... } Empty(const Empty& rhs) {...
分类:
编程语言 时间:
2014-11-27 12:44:45
阅读次数:
240
在C++中可以方便地通过运算符new和delete来动态分配内存,其中new的默认语义是分配内存并调用构造函数,而delete的默认语义是调用析构函数并释放内存,需要注意的是这两个运算符都和指针打交道,而涉及到指针事情就有点复杂了...
分类:
编程语言 时间:
2014-11-26 22:38:25
阅读次数:
211
c++本身不提供自动内存回收机制,所以每次我们有new一个对象或者数组,我们都是时时刻刻提醒自己要记得去delete new出来的对象,那样岂不是非常烦人?而且就算你记得在析构函数中delete new出来的对象,也同样会造成很多问题,比如一个class里面有个指针,初始化的时候new了一块内存,然后class 有个对象a,再通过class b=a复制一份a,这样其实两个对象分别有一个指针指向ne...
分类:
其他好文 时间:
2014-11-26 19:09:12
阅读次数:
132