当我学习 C++ 时,他们警告我不要使用 STL。它是新的、有缺陷的、低效的。最近我发现自己为一个新项目创建了一个容器,并意识到这可能是NIH的一个案例,我应该尝试 STL <vector>。
不幸的是,它不起作用。
#include <stdio.h>
#include <stdlib.h>
#include <vector>
class test {
public:
int x;
};
int main(int argc,char *argv[]) {
std::vector<test> obj;
test *tmp=new test();
tmp->x=42;
obj.push_back(tmp);
}
g++ 警告我 push_back 没有匹配的函数,并且 push_back 将 const value_type& 作为参数。我尝试了很多演员来强制这样做,但它拒绝让步。
我现在浪费了更多的时间来尝试以“正确”的方式来完成它,而不是编写另一个容器并对其进行调试。
如果这听起来像是愤怒和沮丧,那么你是有洞察力的。我已经发现了几个类似我的问题,但答案证明非常难以理解。如果这是一个火焰会飞的地方,我希望为此而敬酒。我已经在 stackoverflow 上潜伏了几年,我敢打赌,有人可以“像我五岁一样解释它”。
是否有单行咒语迫使演员工作?如果不是,这些向量应该如何使用?