【问题标题】:C++ Instantiate an object into an STL containerC++ 将对象实例化为 STL 容器
【发布时间】:2015-01-29 18:32:16
【问题描述】:

我想在 STL 向量容器中自动添加一个对象,只要它的构造函数被调用。

class TestClass
{
    public:
        TestClass();
}

TestClass::TestClass()
{
    aSTLVectorContainer.push_back("this object");
}

这显然假设我已经实例化了向量容器aSTLVectorContainer。

有人可以告诉我如何正确执行此操作,以及是否可能吗?

【问题讨论】:

  • 您希望该类自动将自身添加到向量中吗?
  • 请编一个更好的例子
  • 你想确保向量已经被实例化了吗?

标签: c++ oop


【解决方案1】:

您可以通过this参考当前距离

所以你的代码应该是:

aSTLVectorContainer.push_back(this);

虽然我会投票反对这样的解决方案。当然,在这种情况下,您的容器必须是 TestClass*

类型

【讨论】:

  • 谢谢 - 没问题。如何访问指向 TestClass 的指针向量中的第一个对象?我试图访问我创建的第一个对象:aSTLVectorContainer[0] - 但这似乎不起作用。
  • 这个解决方案看起来像是悬空指针或维护噩梦的秘诀。
猜你喜欢
  • 1970-01-01
  • 2023-03-27
  • 1970-01-01
  • 2020-10-15
  • 1970-01-01
  • 1970-01-01
  • 2021-06-18
  • 2017-03-13
  • 1970-01-01
相关资源
最近更新 更多