C++ length()、size()、sizeof()三者的区别
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++ length()、size()、sizeof()三者的区别相关的知识,希望对你有一定的参考价值。
参考技术Ac++中,length()只是用来获取字符串的长度。
c++中,在获取字符串长度时,size()函数与length()函数作用相同。
除此之外,size()函数还可以获取vector类型的长度。
sizeof()运算符用来求对象所占内存空间的大小。
需要注意的是,如果不使用Vector作为数组进行参数传递,那么在传递数组引用是需要再传递一个数组的大小,否则在函数中无法根据首地址计算出数组大小。
注意 :获取字符数组长度时,使用strlen(a)和下面将要介绍的sizeof(a) / sizeof(a[0]) 得到的结果略有差别,sizeof(a) / sizeof(a[0]) 会把char数组的 \'\\0\' 也算入在内。所以得到的大小会比strlen得到的大一。例如:
注意,java获取数组长度时,length并不是一个方法
C++获取字符串长度的几个函数
C/C++ strlen(str)、str.length()、str.size()、sizeof(str)都可以求字符串长度。
其中str.length()、str.size()、sizeof(str)是用于求string类对象的成员函数
strlen(str)是用于求字符数组的长度,其参数是char*。
#include<iostream> using namespace std; int main() { char* ptr="12345678"; cout<<sizeof(ptr); return 0; }
sizeof(ptr)=4,显然这是字符指针的长度,怎样求取这个字符串的长度?strlen只有在<stdio.h>才能用!
以上是关于C++ length()、size()、sizeof()三者的区别的主要内容,如果未能解决你的问题,请参考以下文章
C++ length()、size()、sizeof()三者的区别
C++ std::string::size()函数(返回字符串的长度,以字节为单位)(与std::string::length()函数相同)