• STL笔记(-)


    STL(Standard Template Library)C++标准模板库,泛型库。使用模板技术实现的通用程序库,提供的数据结构和算法具有泛化形式,不依赖于某个具体的数据结构,体现软件代码的重用性,保证代码具有相当高的执行高效性。C++STL库以编译时库的方式提供给编译器进行编译,十分容易进行代码的扩充和修改。

    具现:

      一程序应用STL的模板类或函数,必须通过include将对应的STL文件包含。编译时,每发现一个STL调用,就会从include文件中找到对应的STL源码插入程序进行置换,同时将其模板用调用时传入的C++类型替换,转换为非模板的C++程序继续余下的编译处理。

     注:由于C++STL使用模板进行编程,一个模板类的多个对象创建和一个模板算法函数的多次调用,都会让编译器具现出重复的代码,以至C++STL程序代码膨胀到不可接受的地步,引发所谓的代码风暴,消耗大量的编译时间甚至引起陈旭的多次磁盘I/O,使程序执行速度大为减慢。

    显示类型转换:

    编译时转换:

      reinterpret_cast<new_type>(express):指针类型转换
      const_cast<new_type>(express):去掉常量属性

      static_cast<new_type>(express):普通类型和继承间类型 (可:继承类->基类对象 反向不可 无继承关系也不可)

    运行时转换:

      dynamic_cast<new_type>(express):指针和引用类型间转化 (指针转换失败返回null 引用转换失败抛出bad_cast异常)

  • 相关阅读:
    344. 反转字符串
    942. 增减字符串匹配
    CGO内部机制
    CGO函数调用
    CGO类型转换
    CGO基础
    Go net/http代理
    GO-中间件(Middleware )
    Go如何巧妙使用runtime.SetFinalizer
    ARM基础
  • 原文地址:https://www.cnblogs.com/weiyi-mgh/p/6484709.html
Copyright © 2020-2023  润新知