我正在用 C++ 编写一个练习,我编写了一个在我看来是有效的代码,但我不确定,因为我还是一个初学者,有人可以检查它并告诉我它们是否是相同与否。
解决方案代码:
Point *PointArray::get( const int pos) {
return pos >= 0 && pos < size ? points + pos : NULL;
}
我的代码是:
Point* PointArray::get (const int position) {
return &(data[position]);
}
我意识到在我的代码中我必须检查条件以检查是否返回空指针,但除此之外,我的版本是否与points + pos
points
&data
是 Point 类的数组,我命名为 mine data,解决方案将其命名为 points。
编辑:
添加条件后我的代码:
Point* PointArray::get (const int position) {
return ((position >= 0 && position < size) ? &(data[position]) : NULL);
}