美文网首页
【c++】size_t 和 size_type的区别

【c++】size_t 和 size_type的区别

作者: 快乐小哥 | 来源:发表于2017-03-24 17:12 被阅读532次

为了使自己的程序有很好的移植性,c++程序员应该尽量使用size_t和size_type而不是int, unsigned

  1. size_t是全局定义的类型;size_type是STL类中定义的类型属性,用以保存任意string和vector类对象的长度
  2. string::size_type 制类型一般就是unsigned int, 但是不同机器环境长度可能不同 win32 和win64上长度差别;size_type一般也是unsigned int
  3. 使用的时候可以参考:
    string::size_type a =123;
    vector<int>size_type b=234;
    size_t b=456;
  4. size_t 使用的时候头文件需要 <cstddef> ;size_type 使用的时候需要<string>或者<vector>
  5. sizeof(string::size_type)
    sizeof(vector<bool>::size_type)
    sizeof(vector<char>::size_type)
    sizeof(size_t)
    上述长度均相等,长度为win32:4 win64:8
  6. 二者联系:在用下标访问元素时,vector使用vector::size_type作为下标类型,而数组下标的正确类型则是size_t

相关文章

  • 【c++】size_t 和 size_type的区别

    为了使自己的程序有很好的移植性,c++程序员应该尽量使用size_t和size_type而不是int, unsig...

  • size_t和size_type

    照个人理解,本质上没有太大区别 size_t是为了平台移植,比方说一个string太长的时候,用unsigned ...

  • size_type和size_t

    size_t不是容器概念,不是容器时,就用它。就有可移植性 size_type是容器概念,用于表示容器长度,没有容...

  • size_t在不同平台上的区别

    size_t相关 size_t是一些C/C++标准在stddef.h中定义的。size_t的真实类型与操作系统有关...

  • size_t ptrdiff_t size_type diffe

    size_tsize_t 是 unsigned 类型,用于指明数组长度或下标,它必须是一个正数, std::siz...

  • 2018-09-15

    Effective c++第三版 绪论 std::size_t是一个typedef,属于unsigned类型。 构...

  • C/C++知识点分享(5)

    1.sizeof和strlen之间的区别? 解析: (1)sizeof操作符的结果类型是size_t,它在头文件中...

  • ssize_t和size_t的区别

    linux 64位系统下,可以简单的理解 typedef unsigned long size_t;typedef...

  • 格式化size_t、ssize_t、int64_t以及uint6

    size_t 在C/C++里面表示对象的大小,是个无符号整数,但是它在32和64位下面定义是不同的。因此如果使用%...

  • C++ 面试基础之一

    C/C++的区别和联系 联系 C++是C的超集,兼容C的大部分的语法。 区别 C是面向过程的语言,C++是面向对象...

网友评论

      本文标题:【c++】size_t 和 size_type的区别

      本文链接:https://www.haomeiwen.com/subject/ugpfottx.html