首页 > 编程语言 >C++ 关于size()和sizeof()的区别

C++ 关于size()和sizeof()的区别

时间:2022-11-08 15:25:16浏览次数:36  
标签:返回 函数 C++ vector sizeof string size

sizeof(a)返回的是对象占用内存的字节数,而a.size()是string类定义的一个返回字符串大小的函数,两个是完全不一样的概念。

明确两者的概念和作用:

1、size()函数:

c++中,在获取字符串长度时,size()函数与length()函数作用相同。 除此之外,size()函数还可以获取vector类型的长度。 

例如:vector < int> num(15,2) ,则:num.size() = 15。

2、sizeof():

sizeof()运算符用来求对象所占内存空间的大小。

 

sizeof(...)是运算符,其值在编译时即计算好了,参数可以是数组、指针、类型、对象、函数等。

它的功能是:获得保证能容纳实现所建立的最大对象的字节大小。由于在编译时计算,因此sizeof不能用来返回动态分配的内存空间的大小。

 

size是由string vector 和bitset定义的函数,分别用于返回字符个数,元素个数和二进制位的数。string和vector的size成员函数用以返回size_type类型的值。bitset返回size_t的值。

标签:返回,函数,C++,vector,sizeof,string,size
From: https://www.cnblogs.com/slowlydance2me/p/16869801.html

相关文章

  • 《数据结构与算法分析(C++语言描述)》
    在看这本书总结了笔记,并分享出来。有问题请及时联系博主:​​Alliswell_WP​​,转载请注明出处。书籍:《数据结构与算法分析(C++语言描述)》作者:LarryNyhoff著、黄达明等译源代......
  • C++学习
     平时有时间也可以刷一刷​​leetcode​​​,​​hihocoder​​,很多题目思考起来还是很有意思的。对于其他的课本,我觉得《算法导论》《编程珠玑》《编程之美》都是不错的经......
  • C/C++ 编程
    写一个函数找出一个整数数组中,第二大的数 constintMINNUMBER=-32767;intfind_sec_max(intdata[],intcount){intmaxnumber=data[0];i......
  • Xmake v2.7.3 发布,包组件和 C++ 模块增量构建支持
    Xmake是一个基于Lua的轻量级跨平台构建工具。它非常的轻量,没有任何依赖,因为它内置了Lua运行时。它使用xmake.lua维护项目构建,相比makefile/CMakeLists.txt,配置语......
  • pip error: Microsoft Visual C++ 14.0 or greater is required
    https://zhuanlan.zhihu.com/p/471661231去官网下载cpp编译工具:https://my.visualstudio.com/Downloads/Featured?mkt=zh-cn下载后直接安装默认值比起有的教程安装......
  • C++ 不知图系列之基于邻接矩阵实现广度、深度搜索
    1.前言图是一种抽象数据结构,本质和树结构是一样的。图与树相比较,图具有封闭性,可以把树结构看成是图结构的基础部件。在树结构中,如果把兄弟节点之间或子节点之间横向连接,......
  • 二叉搜索树 - C++ 实现
    二叉搜索树-C++实现......
  • VC++_读取SHELL命令结果
    voidCFfmpeg_divide_videoDlg::OnButtonBeginDivide(){SECURITY_ATTRIBUTESsa;HANDLEhRead,hWrite;sa.nLength=sizeof(SECURITY_ATTRIBUTES);sa.lpSecurityDe......
  • VC++_文件选择器
    CStringstrFile=_T("");CFileDialogdlgFile(TRUE,NULL,NULL,OFN_HIDEREADONLY,_T("DescribeFiles(*.apk)|*.apk|AllFiles(*.*)|*.*||"),NULL);if......
  • VC++_截取字符串
    CStringstr=_T("Duration:00:04:12.27,");intstart=str.Find("Duration:")+strlen("Duration:");intend=str.Find(",",start);CStringtime=str.Mid(st......