Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/127.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ OOP-使用静态方法有什么缺点吗?_C++_Oop_Opencv - Fatal编程技术网

C++ OOP-使用静态方法有什么缺点吗?

C++ OOP-使用静态方法有什么缺点吗?,c++,oop,opencv,C++,Oop,Opencv,我想设计一个项目,这是视频处理,我计划使用openCV建设。 我想添加一个只包含静态函数的Utils类,其目的是合并只依赖于其参数的各种函数并执行各种处理步骤,例如Utils::processFramHsvSpace(cv::Mat inputFrame)它处理cv::Mat并返回从HSV空间提取的特定特征 这种方法在内存使用方面有什么缺点吗?与此相反,我应该向主类添加一个方法并使用类成员变量吗 突击测验 你能读得更好的是: Vector::length(v); v.length(); le

我想设计一个项目,这是视频处理,我计划使用openCV建设。 我想添加一个只包含静态函数的Utils类,其目的是合并只依赖于其参数的各种函数并执行各种处理步骤,例如
Utils::processFramHsvSpace(cv::Mat inputFrame)
它处理
cv::Mat
并返回从HSV空间提取的特定特征

这种方法在内存使用方面有什么缺点吗?与此相反,我应该向主类添加一个方法并使用类成员变量吗

突击测验

你能读得更好的是:

Vector::length(v);

v.length();

length(v);

正如TokRA所说,C++不是java。您可以选择类上的方法、静态方法和自由形式函数。使用它们。如果需要将它们分组,请将它们放入命名空间中。这样做的好处是,您可以在名称空间关联明显的地方使用

using
子句。

突击测验

你能读得更好的是:

Vector::length(v);

v.length();

length(v);

正如TokRA所说,C++不是java。您可以选择类上的方法、静态方法和自由形式函数。使用它们。如果需要将它们分组,请将它们放入命名空间中。这样做的好处是,可以在名称空间关联明显的地方使用

using
子句。

为什么不在名称空间中创建它们?为什么不使用全局函数?在内存使用方面没有缺点。但是,您正在使用类来实现它们不是为之设计的。全局函数(在名称空间中或不在名称空间中)更好。如果你只有函数,没有状态,也没有类型应该处理的明确职责,那么类不是最好的设计。。。而且它是sooo Java使它们在命名的命名空间中成为自由函数。为什么不在命名空间中创建它们?为什么不在全局函数中创建它们?在内存使用方面没有缺点。但是,您正在使用类来实现它们不是为之设计的。全局函数(在名称空间中或不在名称空间中)更好。如果你只有函数,没有状态,也没有类型应该处理的明确职责,那么类不是最好的设计。。。而且它是sooo Java让它们在命名命名空间中释放函数。如果这是一个突击测验,则您忘记了上面的
选项;)如果这是一个突击测验,您忘记了上面的
选项;)