ptrdiff_t学习
来源:互联网 发布:八爪鱼采集器mac版 编辑:程序博客网 时间:2024/04/28 21:22
在学习STL源码时遇到了ptrdiff_t
先看下我自己搞得测试ptrdiff_t的代码
#include<iostream>#include<cstddef>#include<vector>using namespace std;int main(){ string s = "hello"; string::iterator sp = s.begin(); string::iterator send = s.end(); ptrdiff_t sl = send - sp ; vector<int> a(10,10); cout << sl << endl;//begin()返回的迭代器和end()返回的迭代器距离5 vector<int>::iterator vp = a.begin(); vector<int>::iterator vend = a.end(); ptrdiff_t vl = vp - vend; cout<< vl <<endl;//begin()返回的迭代器和end()返回的迭代器距离-10 return 0; }
输出是 5 和 -10
输出的ptrdiff_t对象是有符号的整数,并且它代表的是两个迭代器(指针)之间的距离。这个距离是内存单元之间的距离并且是有方向的。
我也看了看源码并截取的部分
#define __PTRDIFF_TYPE__ long long int#else#define __PTRDIFF_TYPE__ long int#endif#endif#ifndef _PTRDIFF_T_DEFINED#define _PTRDIFF_T_DEFINED__MINGW_EXTENSION typedef __PTRDIFF_TYPE__ ptrdiff_t;#endif
我的理解是 ptrdiff_t就是long long int 或 long int 型
0 0
- ptrdiff_t学习
- ptrdiff_t
- ptrdiff_t
- ptrdiff_t
- ptrdiff_t
- ptrdiff_t
- ptrdiff_t意思
- size_t & ptrdiff_t
- size_t、ptrdiff_t
- ptrdiff_t示例
- ptrdiff_t 与指针减法
- ptrdiff_t 与指针减法 .
- 【STL】ptrdiff_t示例
- 说说size_t 和 ptrdiff_t
- size_t和ptrdiff_t
- About size_t and ptrdiff_t
- About size_t and ptrdiff_t
- 【STL】ptrdiff_t示例
- lintcode-矩阵的之字型遍历 -185
- JSON对象长度和遍历方法
- iOS编程------UIAlertController
- c++ primer第五版(中文)习题答案 第十章第四节第一小节-插入迭代器
- Android应用程序打包时,出现错误:"XXX" is not translated in "af" (Afrikaans), "am" (Amharic), "ar" (Arabic).....
- ptrdiff_t学习
- 虚拟机网络调试
- HDOJ 2034 A-B c++
- Maven插件编写
- 深入理解maven及应用
- OpenCV - Operations on Arrays
- fireeye的可见度威胁情报
- viewstub应用
- iOS UITableView下拉刷新上拉加载更多MJRefresh类库(推荐)使用初级剑侠篇(欢迎提建议和分享遇到的问题)