搜狗workflow——C++并行计算与异步网络引擎 序列化与反序列化 代码分析(三)

本文深入解析C++中的友元函数、类指针以及作用域符号`::`,并探讨C++11新特性std::move()和std::forward()在序列化与反序列化中的应用。通过实例分析了如何定义友元类以及如何使用指针实现多态性。
摘要由CSDN通过智能技术生成

2021SC@SDUSC

目录

一.基础知识

二.关键代码分析


一.基础知识

1.友元函数

私有成员对于类外部的所有程序部分而言都是隐藏的,访问它们需要调用一个公共成员函数,但有时也可能会需要创建该规则的一项例外。

友元函数是一个不属于类成员的函数,但它可以访问该类的私有成员。换句话说,友元函数被视为好像是该类的一个成员。友元函数可以是常规的独立函数,也可以是其他类的成员。实际上,整个类都可以声明为另一个类的友元。

为了使一个函数或类成为另一个类的友元,必须由授予它访问权限的类来声明。类保留了它们的朋友的 "名单",只有名字出现在列表中的外部函数或类才被授予访问权限。通过将关键字 friend 放置在函数的原型之前,即可将函数声明为友元。

2.类的指针

(1)他是一个内存地址值,他指向内存中存放的类对象 (包括一些成员变量所赋的值,类指针可以指向多个不同的对象,这就是多态);

(2)指针用“->”操作符;

(3)储存位置:用的是内存堆,是个永久变量,除非你释放它;

(4)什么情况使用类对象与类指针?

——其实作用基本一样 都是为了调用类的成员变量和成员函数用的;
——当你希望明确使用这个类的时候,最好使用对象;

        如果你希望使用C++中的动态绑定,则最好使用指针或者引用,指

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值