C++求解数组长度的方法(包含求解vector和字符串求解的方法)

对于一个C++的初学者,在如何求解数组长度问题上可能会稍有混乱,因为求解长度的方法有很多,比如size()、length()、sizeof()等函数,今天我就和大家一起学习如何求解数组长度,并探讨size()、length()、sizeof()这三个函数的用法与区别。

1.sizeof()函数

首先解答如何求解数组长度这个问题,大家应当使用sizeof()函数。sizeof()函数的功能是确定数据类型或变量在内存中所占的字节数。举个例子:

#include<iostream>
#include<cstddef>
using namespace std;
int main(void) {int a[5] = { 1,2,3,4,5 };cout << "int类型的字节数为:" << sizeof(int) << endl;cout << "数组a的总字节数为:" << sizeof(a) << endl;cout << "数组a中每一个元素占字节数为:" << sizeof(a[0]) << endl;cout << "数组a的长度为:" << sizeof(a)/ sizeof(a[0]) << endl;      //求解数组a的长度
}

运行后得到的结果是:

 可以看到,使用sizeof(a)/ sizeof(a[0])的方法就可以求出数组的长度。

2.size()函数

size()函数可以求解字符串长度以及vector类型的长度,但是不可以求解数组的长度。举个例子:

#include<iostream>
#include<vector>
using namespace std;
int main(void) {vector<int>b;string str = "abcabc";for (int i = 0; i < 10; i++) {b.push_back(i);}	cout << "b的长度为:" << b.size() << endl;      //求解b的长度cout << "str的长度为:" << str.size() << endl;      //求解str的长度
}

结果如下:

 可以看到使用size()函数可以轻松求解出字符串长度以及vector类型的长度,但是若对数组使用size()函数,将会报错,大家可以自行尝试,我就不做演示了。

3.length()函数

length()函数只用于求解字符串长度,举个例子:

#include<iostream>
using namespace std;
int main(void) {string str = "abcabc";cout << "str的长度为:" << str.length() << endl;      //求解str的长度
}

若将string修改为数组,将会报错,如下图所示:

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

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

相关文章

【Linux驱动】设备树简介 | 内核对设备树的处理

&#x1f431;作者&#xff1a;一只大喵咪1201 &#x1f431;专栏&#xff1a;《Linux驱动》 &#x1f525;格言&#xff1a;你只管努力&#xff0c;剩下的交给时间&#xff01; 目录 &#x1f9f2;设备树简介&#x1f3f9;设备树语法&#x1f3f9;常见节点和属性&#x1f3f9…

LOAM: Lidar Odometry and Mapping in Real-time 论文阅读

论文链接 LOAM: Lidar Odometry and Mapping in Real-time 0. Abstract 提出了一种使用二维激光雷达在6自由度运动中的距离测量进行即时测距和建图的方法 距离测量是在不同的时间接收到的&#xff0c;并且运动估计中的误差可能导致生成的点云的错误配准 本文的方法在不需要高…

CORS检测工具使用及比较

目录 简单介绍 重点观察 access-control-allow-origin access-control-allow-credentials 工具介绍 CORScanner

Educational cf 160的B题

Problem - B - Codeforces 找到最小操作次数&#xff0c;使得子串对应位与原来字符串对应位不相同。 交换是没有代价的&#xff0c;但是删除有代价。 首先复制两个一模一样的串&#xff0c;我们把下面作为固定串&#xff0c;然后对串中0和1的个数进行计数&#xff0c;由于我…

如何证明夫妻已经分居2年?

有下列情形之一&#xff0c;调解无效的&#xff0c;应当准予离婚&#xff1a;&#xff08;一&#xff09;重婚或者与他人同居&#xff1b;&#xff08;二&#xff09;实施家庭暴力或者虐待、遗弃家庭成员&#xff1b;&#xff08;三&#xff09;有赌博、吸毒等恶习屡教不改&…

私有部署ELK,搭建自己的日志中心(六)-- 引入kafka对采集日志进行削峰填谷

一、背景 首先&#xff0c;要说明一点&#xff0c;elk日志中心&#xff0c;是可以缺少kafka组件的。 其次&#xff0c;如果是研发环境下&#xff0c;机器资源紧张的情况下&#xff0c;也是可不部署kafka。 最后&#xff0c;因为kafka的部署是可以独立的&#xff0c;所以本文将…

代码随想录刷题 | Day2

今日学习目标 一、基础 链表 接下来说一说链表的定义。 链表节点的定义&#xff0c;很多同学在面试的时候都写不好。 这是因为平时在刷leetcode的时候&#xff0c;链表的节点都默认定义好了&#xff0c;直接用就行了&#xff0c;所以同学们都没有注意到链表的节点是如何定…

Python实现把图片插入到excel指定单元格

公众号的小伙伴在群里问,把图片插入到excel中一直浮在表面,没有嵌入到单元格中,要怎么解决?研究后发现有两种解决思路,一种是调整单元格和图片大小,使两者相适应。另一种是把图片变成超链接,在单元格中放入图片超链接。本文详细阐述第一种,后续再跟大家同步第二种方法。…

介绍一款PDF在线工具

PDF是我们日常工作中的一种常见格式&#xff0c;其处理也是我们工作的重要基础性环节&#xff0c;一款可靠的处理工具显得十分重要。 完全免费、易于使用、丰富的PDF处理工具&#xff0c;包括&#xff1a;合并、拆分、压缩、转换、旋转和解锁PDF文件&#xff0c;以及给PDF文件…

IntelliJ IDEA常用快捷键

【1】创建内容&#xff08;新建&#xff09;&#xff1a;altinsert 【2】main方法&#xff1a;psvm 【3】输出语句&#xff1a;sout 【4】复制行&#xff1a;ctrld 【5】删除行&#xff1a;ctrly&#xff08;很多编辑器ctrly是前进操作&#xff0c;如果选择 Delete Line&…

100天精通风控建模(原理+Python实现)——第12天:风控建模中的相关系数分析是什么?怎么实现?

风控模型已在各大银行和公司都实际运用于业务,用于营销和风险控制等。本文以视频的形式阐述风控建模中相关系数分析是什么,怎么实现。并提供风控建模原理和Python实现文章清单。    之前已经阐述了100天精通风控建模(原理+Python实现)——第1天:什么是风控建模?    100…

05-C++ 类和对象-继承

类与对象-03 继承与派生 1. 继承的概念 c最重要的特征是代码重用&#xff0c;通过继承机制可以利用已有的数据类型&#xff0c;来定义新的数据类型&#xff0c;新的类不仅拥有旧类的成员&#xff0c;还拥有新定义的成员。 一个 B 类继承于 A 类&#xff0c;或称从类 A 派生…

数字人私人定制

数字人是什么&#xff1f; 在回答这个问题之前&#xff0c;我们先回答另一个问题&#xff0c;人如何与人工智能交流&#xff1f;目前可以通过文字、语音、电脑屏幕、手机屏幕、平板、虚拟现实设备等和人工智能交流&#xff0c;为了得到更好的交流体验&#xff0c;人工智能必然…

php 8.4 xdebug扩展编译安装方法

最新版php8.4 xdebug扩展只能通过编译方式安装, pecl是安装不了的, 编译方法如下 下载最新版xdebug git clone https://github.com/xdebug/xdebug.git 却换入xdebug目录执行编译安装xdebug cd xdebug phpize./configure --enable-xdebugmakemake install3. 配置启用xdebug 这…

使用element中el-cascader级联选择器实现省市区街道筛选(非动态加载)

<template><el-form ref"form" :model"form" label-width"80px"><el-form-item label"地址:" prop"addressList"><el-cascaderv-model"form.addressList":props"props":options&q…

Pandas教程(一)—— 数据结构

前言 Pandas是贯穿数据分析的主要工具之一&#xff0c;它经常和其他数值计算工具一起使用&#xff08;例如&#xff1a;Numpy、SciPy和matplotlib&#xff09;。尽管pandas采用了很多NumPy的代码风格&#xff0c;但二者最大的区别是&#xff1a;pandas主要用于处理表格型或异质…

GBASE南大通用-GBase 8s数据库日志模式及切换

一、 GBase 8s数据库共有以下 4 种日志模式&#xff1a;无日志模式、缓冲日志模式、无缓冲日志模式、ANSI 模式。详细介绍如下&#xff1a; 1、无日志模式&#xff08;Non logging&#xff09;&#xff1a; 采用无日志模式时&#xff0c;所有 DML 操作都不会被记录到日志中&…

IP地理位置定位技术基本原理

IP地理位置定位技术的基本原理是基于IP地址的特性。每个IP地址在网络中都有一个与之对应的地理位置信息&#xff0c;这是通过IP地址数据库来确定的。这个数据库由ISP&#xff08;Internet Service Provider&#xff09;或其它一些机构维护&#xff0c;其中包含了每个IP地址的地…

链表精选题集

目录 1 链表翻转 题目链接&#xff1a; 解题&#xff1a; 试错版&#xff1a; 2 找中间节点 题目链接: 题解&#xff1a; 3 找倒数第k个节点 题目链接&#xff1a; 题解&#xff1a; 4 将两个升序链表合并为一个升序链表 题目链接&#xff1a; 题解&#xff1a; …