【发布时间】:2010-11-06 06:29:22
【问题描述】:
我正在编写执行最近邻查询的代码。用户在搜索中查询数据的方式有两个简单的想法:
- 离空间中给定点最近的 N 个点。
- 给定距离内的所有点。
在我的代码中,Points 被放入一个 PointList 中,PointList 是一个容器,负责跟踪在搜索中找到的点。
现在我的 PointList 对象有一个构造函数:
PointList( unsigned int maxvals ); // #1
接下来我要添加的两个构造函数是:
PointList( float maxdist ); // #2
PointList( unsigned int maxvals, float maxdist ); // #3
我的问题是:如何确保我的用户和 C++ 编译器生成正确的 PointList 的构造函数并区分构造函数 1 和 2? 我应该只实现#3 并提供定义任意大的常量吗 maxvals 和 maxdist 的值?另一种选择可能是编写另一个轻量级对象系统来控制将点添加到列表中的逻辑,但对于这样一个简单的想法来说,这感觉有点过头了。
我真的在努力让我的用户明白这一点,他们大多是科学家,他们有时在没有受过正规教育的情况下学习了 C++。谢谢!
【问题讨论】:
标签: c++ c type-conversion