array

array本身内容较少,日常使用也不是很多,里面也没有很高深的技巧

1 array的基本架构

了解array的架构需要一个额外的语法知识:

int a[100];

int [100]b; // error

typedef int T[100];
T c; // success

aaarticlea/png;base64,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" alt="">

__array_traits针对Nm等于0的情况,有如下偏特化:

    template<typename _Tp>
struct __array_traits<_Tp, 0> {
struct _Type { };
typedef true_type _Is_swappable;
typedef true_type _Is_nothrow_swappable; static constexpr _Tp&
_S_ref(const _Type&, std::size_t) noexcept { return *static_cast<_Tp*>(nullptr); } static constexpr _Tp*
_S_ptr(const _Type&) noexcept { return nullptr; }
};

2 array的iterator

array的iterator是Tp*类型的,在萃取机制作用于该种类型的iterator时,使用的是如下偏特化的迭代器萃取模板:

    /// Partial specialization for pointer types.
template<typename _Tp>
struct iterator_traits<_Tp*> {
typedef random_access_iterator_tag iterator_category;
typedef _Tp value_type;
typedef ptrdiff_t difference_type;
typedef _Tp* pointer;
typedef _Tp& reference;
};

最新文章

  1. js/javascript format json(js/javascript 格式化json字符串)
  2. python学习笔记系列----(六)错误和异常
  3. 大数据——sparksql
  4. 调用WebService 实现在线双向翻译
  5. UESTC 887 方伯伯的儿童节 --树形DP
  6. Linux基础01 学会使用命令帮助
  7. Node.js 异步模式浅析
  8. vijos 1426
  9. CF Polycarpus&#39; Dice (数学)
  10. ISBN
  11. mysql ab 压力测试的解读(转)
  12. zabbix_fetion_alter
  13. uva 10714 Ants(贪心)
  14. 替换Spring Boot 的EnableCaching注解
  15. bitcms内容管理系统 3.1版源码发布
  16. oracle SQL多表查询
  17. CSS中各种长度单位总结
  18. Nginx 下Thinkphp5伪静态
  19. jquery for&amp;&amp;each的用法
  20. Maven运行的方式

热门文章

  1. python基础-内置函数 isinstance() 与 issubclass()
  2. Vue+ElementUI 导航组件
  3. pm2入门
  4. Java代码实现定时器
  5. Apicloud微信支付iOS可以,安卓返回-1的之避坑指南
  6. 吴丽丽-201871010123《面向对象程序设计(Java)》第七周学习总结
  7. 201871010124-王生涛《面向对象程序设计(java)》第四周学习总结
  8. Django orm进阶查询(聚合、分组、F查询、Q查询)、常见字段、查询优化及事务操作
  9. Excel-图表制作
  10. python中多线程相关