C++常用的长度计算方法size()、sizeof() 、strlen()、length()
- size():计算长度,std::string类的成员函数
- length():计算长度,std::string类的成员函数
- sizeof():计算所占用空间的字节数,是运算符;在编译时计算,获得保证能容纳实现所建立的最大对象的字节大小,因此sizeof不能用来返回动态分配的内存空间的大小
- strlen():需要包含头文件cstring或,输入类型位char*
string 头文件
#include <string> //C++标准库头文件
//<cstring>是C标准库头文件<>对应的C++标准库版本,如果使用strcmp、strchr、strstr、strlen等函数,需要该头文件
#include <cstring>
#include <>
std::string长度计算
#include <iostream>
#include <string>
//#include <cstring>
#include <>
int main(int argc, char *argv[])
{
std::string str_t = "condition";
std::cout<<str_t.size()<<std::endl;
std::cout<<str_t.length()<<std::endl;
std::cout<<sizeof(str_t)<<std::endl; //计算的不是长度
std::cout<<strlen(str_t.c_str())<<std::endl;
return 0;
}
输出
9
9
32
9
char*长度计算
#include <iostream>
#include <string>
//#include <cstring>
#include <>
int main(int argc, char *argv[])
{
char ch_t[]={"condition"};
char* pch = ch_t;
std::cout<<strlen(pch)<<std::endl;
std::cout<<sizeof(pch)<<std::endl;
return 0;
}
输出
9
8