zoukankan      html  css  js  c++  java
  • 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异常)

  • 相关阅读:
    python实现模拟登录
    python进阶八_警告和异常
    我的软考之路(六)——数据结构与算法(4)之八大排序
    Modern source-to-source transformation with Clang and libTooling
    heibernate增删改查总结一下自己的不足
    hibernate之增删改查demo
    前台之boostrap
    <input value="hidden">的作用
    Active Desktop--桌面字体背景被修改
    中文乱码问题解决方法总结
  • 原文地址:https://www.cnblogs.com/weiyi-mgh/p/6484709.html
Copyright © 2011-2022 走看看