30 条回复  ·  626 次点击
kirory 小成 2024-1-28 21:07:34
#include <span>
#include <iostream>

void f(std::span<int> arr ){
  std::cout << arr.size() <<"\n";
}
int main(){
  int arr[] = {1,2,3};
  f(arr);
}
Leonooo13 小成 2024-1-28 21:32:03
@rabbbit 指针指向数组,指针可以指向一个地址,一般指向数组的首地址,通过移动遍历地址。
junkun 小成 2024-1-28 22:48:01
C++20 可以用 std::span 。
zhuangzhuang1988 小成 2024-1-28 22:56:40
直接上 Span
我在 C#也是用 Span.
用得好, 可以少写很多代码
Feep 小成 2024-1-28 23:10:42
编译器遇到 形参列表里的 T[] 时会进行隐式转换
参考 https://zh.cppreference.com/w/cpp/language/array
mingl0280 小成 2024-1-29 03:35:40
手动狗头。
你可以在数组前面加个长度嘛,反正就是预留一个 size_t 的位置然后再填数组就好啦,进函数先把头部的长度解出来就行了哈哈哈哈。
araraloren 小成 2024-1-29 09:43:56
@chendl111 There is not need to get length using `get_array_length` in same scope of `nums`. You can just using `sizeof`.
greycell 小成 2024-1-29 09:56:50
fshex c++水平不如知乎可还行
lingxi27 小成 2024-1-29 10:05:07
@greycell 比知乎差得可太远了
yougotme 小成 2024-2-10 14:19:08
没必要简单问题复杂化,加一个大小参数吧,把精力用在能搞钱的地方。
返回顶部