【发布时间】:2011-11-28 20:02:46
【问题描述】:
其中 RoomCentreNodeVectors 是整数向量的向量。 roomKills 是一个整数向量,而 level.Nodes() 返回一个 Node 对象的向量。 Node 对象的 Room() 函数返回和 int。
for (std::vector<std::vector<int>>::size_type i = 0; i < level.RoomCentreNodeVectors().size(); i++)
{
RoomKills.push_back(level.Nodes()[level.RoomCentreNodeVectors()[i][0]].Room());
}
或
for (std::vector<int>::size_type i = 0; i < level.RoomCentreNodeVectors().size(); i++)
{
RoomKills.push_back(level.Nodes()[level.RoomCentreNodeVectors()[i][0]].Room());
}
【问题讨论】:
-
你不坚持使用迭代器有什么原因吗?
-
显然,您需要将所有这些东西重构为命名变量。我的眼睛在流血。
-
我猜是哪个编译的!
-
@R.MartinhoFernandes 因为我想我还没有了解它们。我认为这是正确的,因为 .size() 返回了这些尺寸。
-
@SirYakalot 是的,martinfowler.com/refactoring
标签: c++