gpt4 book ai didi

c - 是否可以创建一个函数而不是两个目的相同但参数类型不同的函数? (我可以删除重复代码吗?)

转载 作者:太空狗 更新时间:2023-10-29 16:39:58 24 4
gpt4 key购买 nike

<分区>

是否可以创建一个函数而不是两个目的相同但参数类型不同的函数?

我有两个用 C 编写的函数,它们将图像从 RGB 转换为 HSV:

void png_rgb2hsv(pPNG_DATA data);
void jpg_rgb2hsv(pJPEG_DATA data);

它们做完全相同的事情:它们获取 data->row_pointers 并在循环 data->height 时间中循环它。然后它转换 data->row_pointers 引用的值。这就是它的工作原理。但唯一的区别是数据结构使用不同的类型。在我看来,为同一件事使用两个功能是毫无意义的。尤其是当我要为更多颜色空间添加更多功能时。

这个程序设计问题在实践中如何用 C 解决?

更新:大多数读者不明白这个问题。我没有问过载。这是关于设计的问题。我问是否有可能删除冗余功能,“冗余”代码。因为两个函数使用相同的代码,做同样的事情,但是函数参数中的类型不同,因为一种类型来自 libjpeg,第二种类型来自 libpng。我发现这是不可能的,因为这意味着对两种不同的类型使用一个变量

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