比如:
测试函数A(缓存地址,图像宽度,默认颜色,...){
...
判断某点是否是默认颜色(...)
if(...){
...
判断某点是否是默认颜色(...)
...
测试函数B(...)
}
}
测试函数B(缓存地址,图像宽度,默认颜色,...){
...
判断某点是否是默认颜色(...)
}
BOOL 判断某点是否是默认颜色(缓存地址,图像宽度,默认颜色,...){
...
}
多处要判断颜色,要多个参数,怎么办...
要为一些不关联的数据定义一个结构体吗?好像不太好。
有结构体以后参数还是要一级一级向下传。
要把零散的参数定义成全局变量吗?也不好吧。
全局的东西不该是越少越好吗,这样不简洁。
在主函数中定义子函数,这样不用传参数了。
可是不允许。
怎么办,或者是程序设计问题?
这种情况在C语言中是大量存在的,例如在数据库(sqlite)或者一些脚本解释器(Tcl或者lua)中,都会有一个全局变量或者执行全局变量的指针保存当前环境(context)。
在C++中由于引入了面向对象思想,像你所说的有些参数可以封装到类的内部成员中去,代码可能会看起来更加优雅。
一般是结构体。或者就是很多参数。
这两种在windows api中都大量存在。
感觉还是分块定义结构体比较好,大型程序中都是这样做的,一个结构体中包含一类内容