我在使用类之间共享的指针在c ++中存在内存释放问题.
一个例子:
我的顶点定义为:
class Vertex{
double x;
double y;
}
Run Code Online (Sandbox Code Playgroud)
正方形定义为:
class Square{
Square(Vertex* a, Vertex* b, Vertex* c, Vertex* d);
~Square(); // destructor
Vertex* a;
Vertex* b;
Vertex* c;
Vertex* d;
}
Run Code Online (Sandbox Code Playgroud)
我的析构函数实现如下:
Square::~Square(){
delete a;
delete b;
delete c;
delete d;
}
Run Code Online (Sandbox Code Playgroud)
我的方块被存储std::vector<Square*> squares,所以为了清理我的所有记忆:
for(unsigned int i = 0; i < squares.size(); i++){
delete(squares.at(i));
}
Run Code Online (Sandbox Code Playgroud)
那么问题是什么?如果两个方格共享一个顶点,我的程序崩溃,因为它试图删除一个不再存在的指针.我怎么解决这个问题?
我的数据集结构如下:
id date body sentiment
1 1/1/2018 Some Text Positive
2 1/1/2018 Some Text Negative
3 1/1/2018 Some Text None
4 1/2/2018 Some Text Positive
5 1/2/2018 Some Text None
Run Code Online (Sandbox Code Playgroud)
对于每一天,我都有一些信息,如身体(一般文字)和相关的情绪.我想知道,对于每一天,正,负和无(没有值)行的计数.
我尝试过这样的东西,但不起作用:
df.groupby('date', 'sentiment').count()
df['positive'] = df.groupby('date', 'sentiment').apply(lambda x: x is Positive).count()
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?