12-4-16关于大端输出,小端输出,句柄类

本文探讨了大端输出和小端输出的概念,以VC编译器为例,解释了指针强转后高位地址如何影响数据读取。在Linux系统和网络流中通常采用大端方式。此外,文章介绍了句柄类的实现,特别是当派生类重写基类虚函数返回基类类型的引用或指针时,派生类可以返回派生类型。句柄类的主要作用是存储和管理基类指针,并通过重载->操作符实现对派生类的动态绑定和操作。

1看题目


这里只是将指针进行强转了。不是本题讨论的重点,此题答案为33221100

我的编译器为vc,这里我想表达的是大端输出的概念,就是高位地址的内容放到低位了。

本来00 11开始的是从低位到高位的顺序这样排列,当指针为int型后,四个字节的内容进行融合,将原本高位的地址放在四个字节的首,这样我们指针读取的时候就当然是从高位读取的。结果就是33221100。本题在xp中,是小端的一个应用。在字符数组中0x33为高端字节。组合成int后,仍然占据着高地址位

对于linux中一般走的大端路线,而网络流则为大端路线。

2一个简单的句柄类的实现,重点就是clone

此段代码在vc 6.0是编译不会通过的。但是不影响我们概念的表达

如果派生类中的函数对基类对应函数重写,则要求个函数包括返回类型必须一致,但是有个例外条件:如果虚函数的基类实例返回类类型的引用或者指针,则

该虚函数的派生类实例可以返回基类实例返回的类类型的派生类类型。

简而言之:如果基类中有虚函数返回为该类本身的类型,那么对应的派生类重写该函数,返回的是派生类的类型。 这是完全为句柄类服务的。

句柄类中我们还重载了->操作符,是的我们可以动态的绑定,使得基类指针指向派生类函数。

另外:作为句柄类的作用就是存储,管理基类指针,通过该句柄类我们可以操作派生类的。另外句柄类也为智能指针类


见代码:



顺带要强调下 在形参里面使用默认实参,一般我们采取的是后面的先默认,例如本代码中Bulk_item tmBulk("word") 表示的第2 3为默认实参

如果选择第1 3为默认实参,则会报错的编译器不会匹配。因此我们最好按照先后秩序,在主体中给定的实参,与定义体中的默认实参是按照顺序来的


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值