zoukankan      html  css  js  c++  java
  • c++ ptrdiff_t 类型

    ptrdiff_t是C/C++标准库中定义的一个与机器相关的数据类型。ptrdiff_t类型变量通常用来保存两个指针减法操作的结果。ptrdiff_t定义在stddef.h(cstddef)这个文件内。ptrdiff_t通常被定义为long int类型。
    ptrdiff_t定义在C99标准中。

    ptrdiff_t

    标准库类型(library type)ptrdiff_t 与 size_t 类型一样,ptrdiff_t 也是一种与机器相关的类型,在 cstddef 头文件中定义。size_t 是unsigned 类型,而 ptrdiff_t 则是 signed 整型[1]

    size_t

    这两种类型的差别体现了它们各自的用途:size_t 类型用于指明数组长度,它必须是一个正数;ptrdiff_t 类型则应保证足以存放同一数组中两个指针之间的差距,它有可能是负数。
    difference_type是signed类型,表示迭代器差距,vector<int>:: difference_type = iter1-iter2.
    ptrdiff_t与difference_type区别,前面的是c++定义的标准,后面则是STL定义的
     
    int *a=new int(1);
        int *b=new int(2);
        ptrdiff_t result=a-b;
    
        cout<<a<<ends<<b<<ends<<result<<endl;
    000F8F08
    000F8F38
    -12
    可以看出,2个指针相减等于(地址相减的值)/指针所指向的数据类型
     
  • 相关阅读:
    jQuery火箭图标返回顶部代码
    jQuery火箭图标返回顶部代码
    jQuery火箭图标返回顶部代码
    jQuery火箭图标返回顶部代码
    jQuery火箭图标返回顶部代码
    HashMap
    反射
    树状数组
    HashCode()函数详解
    容器总结
  • 原文地址:https://www.cnblogs.com/youxin/p/3281107.html
Copyright © 2011-2022 走看看