【C++】sizeof()、strlen()、length()、size()详解和区别

        sizeof()、strlen()、length()、size()均用于获取字符串长度

length():

        C++中,length()只用于获取字符串的长度。例如:

String str="abcdefg";

str.length()=7

size():

        除了与length一样可以获取字符串的长度,还可以获取vetor类型的长度

vector<int> n(15,3)//表示n中包含了15个值为3的元素

n.size()=15

 sizeof():

         sizeof()用以求对象所占内存空间大小

        //基本数据类型

        sizeof(char)=1;

        sizeof(int)=4;

        sizeof(float)=4;

        sizeof(long)=8;        

        sizeof(double)=8;

        sizeof(int *)=sizeof(float *)=sizeof(char *)=8;//指针型

        sizeof(String)=28

        //常量值的长度等同于它实际类型长度

        sizeof(1)=sizeof(int)=4;

        sizeof(1.11)=sizeof(double)=8

        //数组,计算应该计算到"\0"的位置

        char a[]="123456";sizeof(a)=6+1=7        //字符串默认结尾有一个"\0"

        int b[]={1,2,3,4,5};sizeof(b)=6        //b是数组,但不需计算到'\0'

        char *p=a;sizeof(*p)=1;        //*p指向a的第一个字符,大小为1

         char *q=b;sizeof(*q)=4;        //*p指向b的第一个字符,大小为4

        

        //获取数组长度

        int arr[]={1,2,3,4,5}

        sizeof(arr)/sizeof(arr[0])= sizeof(arr)/sizeof(*arr)= sizeof(arr)/sizeof(int)

strlen:

        返回字符数组或字符串所占的字节数,返回大小不包括'\0',如果只定义而不初始化,则结果是不定的,它会从aa首地址一直找下去,直到遇到'\0’结束。参数必须是字符型指针(char *),当数组名作为参数传入的时候,实际上数组已经退化为指针了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/614998.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

springboot基于java的小区物业管理系统(保安巡逻绿化消防)设计+jsp

小区物业管理系统采用的是JAVA语言开发&#xff0c;利用MySQL为数据库&#xff0c; 使用IDEA平台来编写代码&#xff0c;框架方面选择的是springbootweb框架&#xff0c;采用B/S结构实现系统。本系统的设计与开发过程中严格遵守软件工程的规范&#xff0c;运用软件设计模式&…

leecode1143 | 最长公共子序列

给定两个字符串 text1 和 text2&#xff0c;返回这两个字符串的最长 公共子序列 的长度。如果不存在 公共子序列 &#xff0c;返回 0 。 一个字符串的 子序列 是指这样一个新的字符串&#xff1a;它是由原字符串在不改变字符的相对顺序的情况下删除某些字符&#xff08;也可以不…

JAVA常见面试题——后端--集合篇

2.1. 在平常工作中常用的集合有哪些 ArrayList&#xff1a; 基于动态数组实现&#xff0c;支持动态增长&#xff0c;适用于查找和遍历操作频繁的场景。 LinkedList&#xff1a; 基于链表实现&#xff0c;支持高效的插入和删除操作&#xff0c;适用于频繁插入和删除元素的场景。…

香港Web3:Web3的新热土

相关推荐点击查看TechubNews 随着区块链技术的快速发展&#xff0c;Web3的概念逐渐在全球范围内受到关注。作为亚洲的金融中心&#xff0c;香港在Web3领域也展现出了极大的热情和潜力。本文将探讨香港在Web3领域的发展现状、机遇与挑战。 一、香港Web3的发展现状 香港在Web3…

合并 K 个升序链表[困难]

一、题目 给你一个链表数组&#xff0c;每个链表都已经按升序排列。请你将所有链表合并到一个升序链表中&#xff0c;返回合并后的链表。 示例 1&#xff1a; 输入&#xff1a;lists [[1,4,5],[1,3,4],[2,6]] 输出&#xff1a;[1,1,2,3,4,4,5,6] 解释&#xff1a;链表数组如…

AI智能分析网关V4:太阳能+4G智慧水库远程可视化智能监管方案

一、背景需求分析 由于水库位置分散的原因&#xff0c;水库视频监控建设在立杆、布线等方面都存在一定的难度&#xff0c;且需要人力、物力的前期投入和后期维护。目前水库的监管存在一定的问题&#xff0c;管理人员工作强度大但管理质量并不高&#xff0c;人为巡检无法实时发…

GBASE南大通用 访问其他数据库服务器

通过限定数据库对象&#xff08;表、视图、同义词或例程&#xff09;的名称&#xff0c;您可访问外部数据库中的任何 表或例程。 当外部表与当前数据库位于同一数据库服务器上时&#xff0c;您必须以数据库名称和冒号限定对象 名称。例如&#xff0c;要引用不是本地数据库的数据…

【React源码 - Fiber架构之Reconciler】

前言 React16架构可以分为三层也是最核心的三个功能分别是&#xff1a; Scheduler&#xff08;调度器&#xff09;—调度任务的优先级&#xff0c;高优任务优先进入Reconciler(16新增)Reconciler&#xff08;协调器&#xff09;—负责找出变化的组件Renderer&#xff08;渲染…

青龙面板教程

docker安装青龙面板 1.青龙面板 ### 切换到想要安装的目录&#xff0c;执行下面的命令 docker run -dit \ --name ql \--hostname ql \--restart always \-p 5700:5700 \-v $PWD/ql/config:/ql/config \-v $PWD/ql/log:/ql/log \-v $PWD/ql/db…

C++_虚函数表

虚函数表 介绍源码运行结果笔记扩充函数名联编静态联编动态联编 介绍 1.编译器通过指针或引用调用虚函数&#xff0c;不会立即生成函数调用指令&#xff0c;而是用 二级函数指针 代替 1.1确定真实类型 1.2找到虚函数表从而找到入口地址 1.3根据入口地址调用函数(PS:俗称 函数指…

RT-Thread入门笔记3-线程的创建

线程 RT-Thread 中&#xff0c;线程由三部分组成&#xff1a;线程代码&#xff08;入口函数&#xff09;、线程控制块、线程堆栈. 线程代码: 线程控制块 : 线程控制块是操作系统用于管理线程的一个数据结构&#xff0c; 它会存放线程的一些信息&#xff0c; 例如优先级、 线程…

使用Notepad++将多行数据合并成一行

步骤 1、按CtrlF&#xff0c;弹出“替换”的窗口&#xff1b; 2、选择“替换”菜单&#xff1b; 3、“查找目标”内容输入为&#xff1a;\r\n&#xff1b; 4、“替换为”内容为空&#xff1b; 5、“查找模式”选择为正则表达式&#xff1b; 6、设置好之后&#xff0c;点击“全…

Vue3 父事件覆盖子事件,Vue2 的 v-on=“$listeners“ 的替代方案

在 Vue3 中&#xff0c;$listeners 被删除 子组件代码&#xff0c;需要特别注意的是事件名为 on 开头&#xff0c;例如 onBack。不确定的可以通过给父组件传递 事件或属性&#xff0c;再打印子组件的 attrs useAttrs()&#xff0c;来确定传值 // template v-bind"newA…

了解PyTorch中的缩放点积注意力及演示

torch.nn.functional.scaled_dot_product_attention 函数在 PyTorch 框架中用于实现缩放点积注意力&#xff08;Scaled Dot-Product Attention&#xff09;。这是一种在自然语言处理和计算机视觉等领域常用的注意力机制。它的主要目的是通过计算查询&#xff08;query&#xff…

Windows常用命令(文件相关、进程相关、网络相关、用户相关、特殊符号)

Windows常用命令 Windows常用命令 Windows常用命令0x01 基础操作0x02 文件操作0x03 进程操作0x04 网络相关0x05 用户相关0x06 特殊符号 0x01 基础操作 清屏&#xff1a;cls 关机&#xff1a;shutdown -s&#xff08;关机&#xff09;-r&#xff08;重启&#xff09; -f(强制)…

【Android 10 适配】隐私权限变更

更详细内容请参考 Android 10 中的隐私权变更 Android 10&#xff08;API 级别 29&#xff09;引入了多项功能和行为变更&#xff0c;旨在更好地保护用户的隐私。这些变更让用户更清楚地了解并更好地控制自己的数据及为应用提供的权能。 下面是 Android 10 中与隐私权限相关的…

Linux ----冯诺依曼体系结构与操作系统

目录 前言 一、冯诺依曼体系结构 二、为什么选择冯诺依曼体系结构&#xff1f; 三、使用冯诺依曼结构解释问题 问题1&#xff1a; 问题2: 四、操作系统 1.操作系统是什么 2.为什么需要操作系统 3.操作系统怎样管理的 4.如何给用户提供良好环境 五、我们是怎样调用系…

Windows Copilot 更新及使用教程

要更新并使用 Windows Copilot&#xff0c;在 Windows 11 上&#xff0c;首先确保您的系统已经更新到最新版本。Windows Copilot 是随 Windows 11 23H2 更新一起发布的新 AI 助手功能。它可以回答您的问题&#xff0c;完成任务&#xff0c;导航 Windows&#xff0c;并提高您的工…

native2ascii命令详解

native2ascii命令详解 大家好&#xff0c;我是免费搭建查券返利机器人赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01;今天&#xff0c;让我们一同深入研究Java开发中常用的工具——"native2ascii"命令&a…

Github 2024-01-12Java开源项目日报 Top10

根据Github Trendings的统计&#xff0c;今日(2024-01-12统计)共有10个项目上榜。根据开发语言中项目的数量&#xff0c;汇总情况如下&#xff1a; 开发语言项目数量Java项目10Vue项目3 Apache Flink: 开源流处理框架 创建周期&#xff1a;3506 天开发语言&#xff1a;Java协…