博客
关于我
C++学习(35)
阅读量:719 次
发布时间:2019-03-21

本文共 874 字,大约阅读时间需要 2 分钟。

  • 运算符重载的选择 criteria只能使用成员函数重载的运算符包括=(), [],->和delete(). 这是因为这些运算符的实现往往需要与对象的状态密切相关,或者需要修改对象的内部状态。在这种情况下,成员函数比友元函数更合适。例如,重载=运算符通常作为成员函数来实现。

  • double等默认类型转换C++默认的类型转换是从下到上进行的,系统可以把int转换成float,或double,但不会反过来。

  • 内存管理

    • 栈区(stack):由编译器自动分配和释放,存放函数参数和局部变量。
    • 堆区(heap):由程序员分配和释放,效率较低,可能存在碎片。
    • 全局区(static):全局变量和静态变量存储在这里,程序结束后由系统释放。
    • 常量区和代码区:分别存放常量和代码二进制。
  • 动态_cast 和 转换函数dynamic_cast用于基类指针或引用到派生类的转换,失败则返回null或抛出异常。静态_cast需要程序员自行判断安全性,-reinterpret_cast允许不安全但有效的类型转换。

  • 回调函数回调函数通过函数指针调用,适用于需要响应事件的场景。成员函数需要this指针,而回调函数不需要。理解这一点很重要,因为类成员函数和回调函数的调用机制不同。

  • 内存管理注意事项调用类成员函数前,编译器会检查析构函数的访问性。将析构函数设为私有,可以防止在栈上分配对象,强制使用new操作符分配对象。

  • 类型转换与运算符重载类成员函数运算符需要左操作数是该类对象或引用,而友元函数运算符的左操作数可以是其他类型,这在具体实现时需要谨慎。类型转换函数无法作为友元函数定义。

  • 选项分析A选项正确,组合类的析构函数不需要显式销毁成员对象,因为当组合类析构时,成员对象会被销毁。B选项错误,基类无法到派生类的转换不可能自动发生。C选项正确,析构函数没有参数,不可重载。D选项正确,派生类需定义动态绑定。

  • 把以上内容运用于实际代码编写时,需注意运算符重载的选择,合理利用成员函数和友元函数的特点,确保内存管理的正确性,正确使用类型转换函数,并尊重编译器的内存管理规则。

    转载地址:http://ojcgz.baihongyu.com/

    你可能感兴趣的文章
    NIFI同步MySql数据_到SqlServer_错误_驱动程序无法通过使用安全套接字层(SSL)加密与SQL Server_Navicat连接SqlServer---大数据之Nifi工作笔记0047
    查看>>
    NIFI同步MySql数据源数据_到原始库hbase_同时对数据进行实时分析处理_同步到清洗库_实际操作06---大数据之Nifi工作笔记0046
    查看>>
    Nifi同步过程中报错create_time字段找不到_实际目标表和源表中没有这个字段---大数据之Nifi工作笔记0066
    查看>>
    【Flink】Flink 1.9 版本 web UI 突然没有日志
    查看>>
    NIFI大数据进阶_FlowFile拓扑_对FlowFile内容和属性的修改删除添加_介绍和描述_以及实际操作---大数据之Nifi工作笔记0023
    查看>>
    NIFI大数据进阶_FlowFile生成器_GenerateFlowFile处理器_ReplaceText处理器_处理器介绍_处理过程说明---大数据之Nifi工作笔记0019
    查看>>
    NIFI大数据进阶_FlowFile生成器_GenerateFlowFile处理器_ReplaceText处理器_实际操作---大数据之Nifi工作笔记0020
    查看>>
    NIFI大数据进阶_Json内容转换为Hive支持的文本格式_实际操作_02---大数据之Nifi工作笔记0032
    查看>>
    NIFI大数据进阶_Json内容转换为Hive支持的文本格式_操作方法说明_01_EvaluteJsonPath处理器---大数据之Nifi工作笔记0031
    查看>>
    NIFI大数据进阶_Kafka使用相关说明_实际操作Kafka消费者处理器_来消费kafka数据---大数据之Nifi工作笔记0037
    查看>>
    NIFI大数据进阶_Kafka使用相关说明_实际操作Kafka生产者---大数据之Nifi工作笔记0036
    查看>>
    NIFI大数据进阶_NIFI的模板和组的使用-介绍和实际操作_创建组_嵌套组_模板创建下载_导入---大数据之Nifi工作笔记0022
    查看>>
    NIFI大数据进阶_NIFI监控功能实际操作_Summary查看系统和处理器运行情况_viewDataProvenance查看_---大数据之Nifi工作笔记0026
    查看>>
    NIFI大数据进阶_NIFI监控的强大功能介绍_处理器面板_进程组面板_summary监控_data_provenance事件源---大数据之Nifi工作笔记0025
    查看>>
    NIFI大数据进阶_NIFI集群知识点_认识NIFI集群以及集群的组成部分---大数据之Nifi工作笔记0014
    查看>>
    NIFI大数据进阶_NIFI集群知识点_集群的断开_重连_退役_卸载_总结---大数据之Nifi工作笔记0018
    查看>>
    NIFI大数据进阶_使用NIFI表达式语言_来获取自定义属性中的数据_NIFI表达式使用体验---大数据之Nifi工作笔记0024
    查看>>
    NIFI大数据进阶_内嵌ZK模式集群1_搭建过程说明---大数据之Nifi工作笔记0015
    查看>>
    NIFI大数据进阶_内嵌ZK模式集群2_实际操作搭建NIFI内嵌模式集群---大数据之Nifi工作笔记0016
    查看>>
    NIFI大数据进阶_外部ZK模式集群1_实际操作搭建NIFI外部ZK模式集群---大数据之Nifi工作笔记0017
    查看>>