在c++中size()和sizeof()用法说明:
1、size()是取字符串长度的,跟length()用法相同。
举例:

string str="0123456789";
cout <<"str.length()="<<str.length()<<endl;//结果为10
cout <<"str.size()="<<str.size()<<endl;//结果为10
为了兼容,这两个函数一样。 length()是因为沿用C语言的习惯而保留下来的,string类最初只有length(),引入STL之后,为了兼容又加入了size(),它是作为STL容器的属性
存在的,便于符合STL的接口规则,以便用于STL的算法。 string类的size()/length()方法返回的是字节数,不管是否有汉字。
2、sizeof
sizeof(...)是运算符,其值在编译时即计算好了,参数可以是数组、指针、类型、对象、函数等。
它的功能是:获得保证能容纳实现所建立的最大对象的字节大小。由于在编译时计算,因此sizeof不能用来返回动态分配的内存空间的大小。
举例说明:
1)char* ss = "0123456789";
sizeof(ss)为4,ss是指向字符串常量的字符指针,sizeof 获得的是指针所占的空间,则为4
sizeof(*ss)为1,*ss是第一个char字符,则为1。简单理解size是名词大小如int a ;  size(a);而sizeof是形容词大小如sizeof(int)结果会是4

区别 a.size()和sizeof(a)相关推荐

  1. strlen、length、size、sizeof的用法与区别

    各函数用法 一.strlen 头文件 string.h 语法形式: size_t strlen( const char* str); 该函数的默认使用类型是char * 也就是一个char指针类型,所 ...

  2. size和sizeof的区别

    问题并不复杂,但对于运算符还是函数还是有一点启发的,先mark一下. 在c++中size()和sizeof()用法说明:1.size()是取字符串长度的,跟length()用法相同.举例: strin ...

  3. size = 8 * sizeof(int)是什么意思?详解代码为啥这么写?

    我们可以sizeof一下我们自己的电脑上int型占几个字节.我的是4个字节,也就是说只有32个位.如果一个十进制数转位二进制数位数大于32,就溢出,其实也就是存不下了.

  4. c/c++中sizeof()、strlen()、length()、size()详解和区别

    c/c++中获取字符串长度.有以下函数:size().sizeof() .strlen().str.length(); 一.数组或字符串的长度:sizeof().strlen() 1.sizeof() ...

  5. 实例分析C语言中strlen和sizeof的区别

    C语言文章更新目录 C/C++学习资源(百度云盘链接) 计算机二级资料(过级专用) C语言学习路线(从入门到实战) 编写C语言程序的7个步骤和编程机制 C语言基础-第一个C程序 C语言基础-简单程序分 ...

  6. 简述sizeof和strlen的区别

    sizeof和strlen的区别 属性不同: sizeof是运算符(关键字),strlen是函数 用法不同: sizeof可以使用类.结构体.共用体以及其他用户自定义的数据类型作为参数,然后计算相应的 ...

  7. C语言strlen函数与sizeof函数的区别

    strlen函数与sizeof函数的区别 strlen函数和sizeof函数都可以用于获取字符串的长度,但是它们有几个重要的区别. strlen函数返回字符串的长度,而sizeof函数返回的是整个数组 ...

  8. packed record与record区别

    在windows中内存的分配一次是4个字节的.而packed按字节进行内存的申请和分配,这样速度要慢一些,因为需要额外的时间来进行指针的定位.因此如果不用packed的话,delphi将按一次4个字节 ...

  9. new与malloc的区别以及实现方法

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/shanghairuoxiao/article/details/70337890 new和malloc ...

最新文章

  1. 逃离谷歌,多年来DeepMind一直在寻求独立:还搞了个「Mario」计划
  2. Docker报错 WARNING: IPv4 forwarding is disabled. Networking will not work.
  3. python 矩形补正方形
  4. B-树的插入、查找、删除
  5. Delphi 与 DirectX 之 DelphiX(71): TDIB.Negative;
  6. 安装完MySQL数据库,在服务列表里找不到MySQL的解决办法
  7. Advanced Logging For IIS
  8. POI 操作Excel添加超链接
  9. mysql replace 效率,MySQL replace实用场景 MySQL实现replace函数的几种实用场景
  10. 19.浏览器Window服务($window)
  11. git rebase -i之我见
  12. ubuntu 18.04安装php 7,如何在Ubuntu 18.04和16.04上安装PHP(7.3,7.2和7.0)?
  13. html在ie中img地址为https,关于IE10以下的img标签问题解决
  14. NABCD模型--软件工程
  15. 可行性研究报告【列文】2022-5.6
  16. hdf heg 批量拼接_python调用HEG工具批量处理MODIS数据
  17. Markdown 中 LaTex 数学公式命令
  18. 【信号与系统】如何求系统的冲激响应和阶跃响应
  19. Swift map、flatMap、compactMap、filer、reduce的使用总结
  20. eclipse设置代码格式化(详解)

热门文章

  1. VS中使用QT,多国语言翻译问题
  2. 内容与标准为王:下一代互联网与下一代搜索
  3. rp软件app流程图_AxureRP介绍–架构图和流程图
  4. 【无标题】item_search - 按关键字搜索淘宝商品API接口调用展示
  5. Secure Code Warrlor学习记录
  6. UCOSIII时间片轮转调度
  7. Learning English Lesson 2 - ( Accents )
  8. 【python debug】could not convert string to float: ‘File‘ got an unexpected keyword argument
  9. 一、服务端渲染技术NUXT
  10. Ubuntu18.04 peda安装