获取数组字符串的长度(需要修改)
数组 获取 字符串 修改 需要 长度
2023-09-11 14:22:52 时间
1. 算术表达式:
#include <iostream> int main() { int arr[4]; std::cout << sizeof ( arr ) / sizeof ( arr[0] ) << std::endl; // 输出4 } |
或者
#include <iostream> int main() { int arr[4]; std::cout << sizeof ( arr ) / sizeof ( *arr ) << std::endl; // 输出4 } |
2. 函数模板参数自动推断:
#include <iostream> template < typename T, size_t N> inline size_t Count( T ( & arr )[N] ) { return N; } int main() { int arr[4]; std::cout << Count( arr ) << std::endl; // 输出4 } |
3.标准C++模板库:
#include <type_traits> // 注意包含此头文件. #include <iostream> int main() { int arr[4]; std::cout << std::extent< decltype ( arr ), 0>::value << std::endl; // 输出4 } |
4.模板特化与自动类型推断:
include <iostream> template < typename T> class ComputeSize; template < typename T, size_t N> class ComputeSize<T[N]> { public : static const size_t value = N; }; int main() { int arr[4]; std::cout << ComputeSize< decltype ( arr )>::value << std::endl; // 输出4 } |
#include <cstdlib> #include <iostream> int main() { int arr[4]; std::cout << _countof( arr ) << std::endl; // 输出4. } |
6. boost库:
#include "boost/range.hpp" #include <iostream> int main(){ int arr[4]; std::cout << boost::size( arr ) << std::endl; // 输出4 } |
上面的方法适用于静态数组,动态的数组(new[])是无法获取元素个数的。
上面的代码,自己可以编译运行看看,如果手上没有编译器测试上面的代码或者编译失败,可以在下面的页面上编译运行(最新版本的Visual C++):
http://webcompiler.cloudapp.net/
-
#include“string.h”
strlen(a)求字符数组的大小是
-
sizeof(a)/sizeof(a[0]);这种基本上万能
-
相关文章
- php 从一个数组中随机获取固定数据
- 通过PHP current()函数获取未知字符键名数组第一个元素的值
- 后台 - java 数组
- 判断js数组包是否包含某个元素
- Java实现最大连续乘积子数组
- php获取数组第一个和最后一个的title字段
- 【数组&双指针】leetcode 283. 移动零【简单】
- 【数组&双指针】LeetCode 142. 环形链表 II【中等】
- LeetCode(26): 删除排序数组中的重复项
- 【二】 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否函数该整数。
- PHP获取二维数组中某一列的值集合
- go http.Get获取Harbor所有的project及进行json数组解析
- Java数组对象的内存布局
- Java数组--获取数组中的最大值案例
- PHP 多维数组
- 通过数组,递归创建二叉树
- 下列关于数组的描述,错误的是()
- 剑指 Offer II 012. 左右两边子数组的和相等(有点意思)
- VB编程:UBound获取数组上限;LBound获取数组下限-25
- VB编程:UBound获取数组上限;LBound获取数组下限-25_彭世瑜_新浪博客
- vue数组和对象进行 watch 和 watchEffect 对比
- c++ 数组
- 获取多选input-选中后的值存数组
- js随机从数组内取出一个值(整理)
- 【数据结构与算法】线性表--数组
- python工具方法 12 随机生成特定范围值的数组