前面分析完2个主要的包类,现在我们来揭开Java.nio的最后块神秘的知识点,Charset编码类,他的功能主要是实现字节与Unicode之间的转码转换。同样先来看看他的包结构。,结构比较单一和简单。
里面一个最最主要的类就是Charset类,看看里面有哪些变量
他的构造函数为
Charset类中也有缓存字节本身的类型
我们来看看他最主要的一个功能encod...
分类:
编程语言 时间:
2014-10-03 15:37:34
阅读次数:
246
上一篇我们提到了new运算符以及它的工作步骤,其实无非是把两项工作独立出来: 1.申请原始内存 2.执行构造函数 delete也涉及了两个工作: 1.执行析构函数 2.释放原始内存 其实标准库提供了另外一种更加高级的手段实现内存的分配和构造,就是std::allocator的职责。 allocato...
分类:
其他好文 时间:
2014-10-02 18:50:23
阅读次数:
195
采用自定义的operator运算符实现自己的内存分配策略,在某些时候可以提高程序的效率。 C++中的new运算符,具体工作流程如下: 1.调用operator new申请原始内存 2.调用place new表达式,执行类的构造函数 3.返回内存地址 而delete操作符的工作是: 1.调用对象的析构...
分类:
其他好文 时间:
2014-10-02 02:25:11
阅读次数:
165
构造函数按一下顺序被调用:1.按虚拟基类被继承的顺序2.按非虚拟基类被继承的顺序3.按成员函数被声明的顺序4.类自己的构造函数#include#include#includeusing namespace std;class OBJ1{public: OBJ1(){ cout<<"OBJ1"<...
分类:
其他好文 时间:
2014-10-02 00:39:21
阅读次数:
248
http://blog.csdn.net/iceshirley/article/details/5688696要理解这个问题,从概念上,我们要知道一点,那就是构造函数的执行过程会分成两个阶段:隐式或显示的初始化阶段以及一般的计算阶段。计 算阶段由构造函数体内的所有语句组成,在计算阶段,数据成员的设置...
分类:
编程语言 时间:
2014-10-01 12:27:21
阅读次数:
189
大致思路是,将该类的构造函数定义为私有方法,代码其他地方不能实例化该对象,只能通过调用该类的一个静态成员函数(get_instance())来获取这个唯一实例。更进一步,把该类的复制构造函数和重载的=赋值运算也声明为私有,即Singleton(const Singleton);和 Singleton & operate = (const Singleton&);函数,需要声明成私有的,并且只声明不...
分类:
其他好文 时间:
2014-09-30 22:36:50
阅读次数:
210
1.new、delete、malloc、free关系delete会调用对象的析构函数,和new相应free仅仅会释放内存,new调用构造函数。malloc与free是C++/C语言的标准库函数,new/delete是C++的运算符。它们都可用于申请动态内存和释放内存。对于非内部数据类型的对象而言,光...
分类:
编程语言 时间:
2014-09-30 21:29:40
阅读次数:
221
constructor-destructor-exceptions
分类:
编程语言 时间:
2014-09-30 20:52:40
阅读次数:
203
“copy构造”与“copy复制”误区:----“=”语法也可以用来调用copy构造函数:如:Constr object3 = object1;区别在于:如果定义一个新的对象(如Constr object3),一定会有个构造函数被调用,不可能调用复制操作。 如果没有新对象被定义(如objec...
分类:
其他好文 时间:
2014-09-30 14:29:19
阅读次数:
134
1.继承类时需要注意的地方 (1)当一个类作为基类的时候,这个类就必须有定义。 (2)在派生类中,基类的默认构造函数可以被隐式调用,但是如果基类的构造函数都有参数,派生类需要直接调用一个。派生类的构造函数只能描述派生类自己的成员变量和自己的基类的直接初始式,它不能直接初始化基类的成员。Manag.....
分类:
编程语言 时间:
2014-09-30 13:25:09
阅读次数:
181