gpt4 book ai didi

c - C中的通用 map 操作

转载 作者:太空宇宙 更新时间:2023-11-04 03:57:54 24 4
gpt4 key购买 nike

<分区>

我如何在 C 中定义数组上的通用映射操作?

理想情况下,我想要类似 python 的 map(function,array) ~~ 但作为一个宏。我相信这会类似于 C++ 的 std::transform,但会在 C 中,并且不使用迭代器..

(这将是一元运算)我在想类似的事情:

template <class T*, class U*,size_t N>
T* map(T (*func)(U), U* arr,size_t N)
{
T* tmp = (T*)malloc(sizeof(T) * N);
size_t i;
for(i=0;i<N;i++)
{
*(tmp+i) = *func(*(arr+i));
}
}

...当然模板是用C++写的..那么我如何才能 1) 执行后者和 2) 如果可以的话,你能修复上面的代码片段吗?

谢谢

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com