【发布时间】:2022-01-06 10:23:48
【问题描述】:
正如标题所说,在 Request() 中没有任何附加参数,同时保持干净。下面是一个例子:
struct CPerson
{
void Request();
}
void CPerson::Request()
{
// get index
/* EXAMPLES
serverinfo* info;
server.GetInfo(&info, index);
cout << info.username << "\n";
*/
}
CPerson person[64];
int main()
{
for (int i = 0; i < 64; i++)
person[i].Request(); // i = current index
return 0;
}
编辑:固定标题
【问题讨论】:
-
this - person?不过看起来很丑陋。 -
您是否要从
CPerson::Request()中找出this在person中的位置? -
如果“我自己的索引”是
CPerson应该知道的,那么它应该有一个存储该信息的成员。 -
你为什么需要那个?
i是索引。当你做person[42] = person[0];时你想发生什么? -
@FrançoisAndrieux 但这是唯一有意义的方法。让一个对象弄清楚它在数组中的位置是一个混乱的设计,当您创建不在数组中的该类的对象时,它没有任何意义。 OPs 问题(如果这是他遇到的问题,因为我不清楚)是该课程之外的问题,甚至与该课程无关。
标签: c++ arrays function struct