C++ c++;11创建通过向量迭代的对象实例
我有一个带有“注册”类的向量列表 main.cppC++ c++;11创建通过向量迭代的对象实例,c++,c++11,vector,C++,C++11,Vector,我有一个带有“注册”类的向量列表 main.cpp // main.cpp: // from namespace::class3 bool successfulregistered = RegisterComponents(vector<CustomNamespace::class1,CustomNamespace::class2>); // implementation bool class3::RegisterComponents(vector&
// main.cpp:
// from namespace::class3
bool successfulregistered = RegisterComponents(vector<CustomNamespace::class1,CustomNamespace::class2>);
// implementation
bool class3::RegisterComponents(vector<CustomNamespace>& RegisterComponents)
{
for(int i = 0; i < RegisterComponents.end(); i++)
{
class3::Objectinstance->iterator(*RegisterComponents);
// and then some checks
}
}
class1.h
// in class3
private:
vector<CustomNamespace> Objectinstance;
public:
bool RegisterComponents(vector<CustomNamespace>& RegisterComponents);
ConfigWatchdog(string &SetJSONFile, const char &cJSONRoot);
ServerNetworking(unit& setIPAddress, ...);
class2.h
// in class3
private:
vector<CustomNamespace> Objectinstance;
public:
bool RegisterComponents(vector<CustomNamespace>& RegisterComponents);
ConfigWatchdog(string &SetJSONFile, const char &cJSONRoot);
ServerNetworking(unit& setIPAddress, ...);
尽管你的代码给了我一个WTF时刻,我想我能帮上忙<循环中的code>i是一个迭代器:
for(auto i = Objectinstance.begin(); i != Objectinstance.end(); i++)
您可以通过取消引用i
-*i
来访问元素。您可以复制并构造另一个名称空间
(将其大写为N
,名称空间
是一个关键字,您不知道吗?)
问题不清楚,代码看起来不像可编译的C++(它混淆迭代器和索引,使用<代码>命名空间< /代码>作为类型名等)。请澄清你的问题并收紧代码来帮助我们回答问题。但是在列表中有两个不同的类,我如何才能改变?矢量;因此,当我使用I进行迭代时,它在每个连续性中都有另一个类,我只想调用它。
std::vector
只能有一种类型的元素。。。第二个模板参数是自定义分配器。我对示例进行了一些编辑,以使名称空间更加清晰。抱歉搞混了。:)所以std::vectorListwithmycustomclasses
可能是一个包含一种类型元素的列表,或者不是?芜湖行,这已经很好了。但现在还不清楚如何访问其中的每个类并用迭代器调用它。你能编辑你的例子让我明白吗?你必须先编辑你的问题-我不知道名称空间类是什么样子。