gpt4 book ai didi

c++ - 如何使用具有指向参数的数组指针的方法?

转载 作者:行者123 更新时间:2023-11-27 23:02:44 25 4
gpt4 key购买 nike

我想创建一个方法,该方法的参数是一个指向数组第一个元素的指针,然后循环遍历数组以查找某些内容...

void MyClass::myMethod(T *x)
{
// I know that *x points to the first entry in a properly defined array.
// I want to cycle through this array, and try to find a member T of that array that
// meets certain criteria.
// I would then like to store a pointer to this T that meets my criteria.
}

最佳答案

您还需要显式传递数组的大小。然后你可以这样做:

for(T *current = x; current < x + count; ++current) {
// do something with current, compare or whatever
}

另一种方法是使用索引符号,如下所示。哪个更好主要取决于您以后想要访问数据的具体方式。

for(int i = 0; i < count; ++i) {
// current element is x[i]
// pointer to current element is then x+i, or &x[i]
}

通常你最好使用标准数组容器,使用迭代器实现你的算法。然后你的函数采用两个迭代器来定义它应该操作的范围,基本上是这样的:

template<typename Iterator>
void doSomething(Iterator begin, Iterator end) {
for(; begin != end; ++begin) {
// current element is *begin
}
}

关于c++ - 如何使用具有指向参数的数组指针的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26206509/

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