Utilites

简介

• Class pair<> and class tuple<>

• Smart pointer classes (class shared_ptr<> and class unique_ptr)

• Numeric limits

• Type traits and type utilities

• Auxiliary functions (for example, min(), max(), and swap())

• Class ratio<>

• Clocks and timers

• Some important C functions

pairs

pair操作

1,具有成员模板构造函数(当pair类型不同但可以隐式类型转换时调用)

2,pair的成员的类型的拷贝构造函数必须是常量引用

tuples

扩展pair,使得tuple支持多个元素

tuple操作

1,使用get<0>(t)等获取每个元素

2,赋值操作时右操作数必须显式的为tuple类型,不支持隐式转换

tuple_size<tupletype>::value返回tuple的元素个数

tuple_element<index, tupletype>::type返回tuple的第index个元素的类型

tuple_cat()将多个tuple组合为一个整体

shared_ptr

多个指针共享同一资源,当最后一个指针销毁时会将资源释放。

shared_ptr使用1
shared_ptr使用2
weak_ptr使用

1,weak_ptr的的拷贝和赋值不会增加或减少对应的shared_ptr的引用计数

2,使用lock()函数获取weak_ptr绑定的shared_ptr

原子操作
unique_ptr操作
内建类型的最小大小

数值极限<limits>

类型萃取<type_traits>

A type trait provides a way to deal with the properties of a type. It is a template, which at compile time yields a specific type or value based on one or more passed template arguments, which are usually types.

引用转换

std::reference_wrapper<>定义在<functional>,将参数转化为引用类型来适用函数模板std::vector<std::reference_wrapper<MyClass>> coll; // OK

比较辅助函数

定义在<algorithm>

std::swap函数定义在<utility>

编译时分数计算类

ratio<>定义在<ratio>

例如ratio<3, 5>表示五分之三,类成员num,den分别表示分子和分母

例如std::ratio_add<std::ratio<2, 7>, std::ratio<2,6>>::type为std::ratio<13, 21>

例如std::nano,等价于std::ratio<1, 1000000000LL>

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 接着上节 condition_varible ,本节主要介绍future的内容,练习代码地址。本文参考http:/...
    jorion阅读 14,994评论 1 5
  • 前言 把《C++ Primer》[https://book.douban.com/subject/25708312...
    尤汐Yogy阅读 13,159评论 1 51
  • 以下是我最近几个星期学习c++11做的一些记录,包括收集的一些信息,整理的相关概念和写的一些测试代码。具体相关代码...
    在河之简阅读 7,895评论 0 6
  • 1. 让自己习惯C++ 条款01:视C++为一个语言联邦 为了更好的理解C++,我们将C++分解为四个主要次语言:...
    Mr希灵阅读 7,952评论 0 13
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,178评论 19 139

友情链接更多精彩内容