假设我有以下型号:
class Molecule(Base):
db = Column(Integer, primary_key=True)
id = Column(Integer, primary_key=True)
data = Column(Integer)
class Atom(Base):
id = Column(Integer, primary_key=True)
weight = Column(Integer)
Run Code Online (Sandbox Code Playgroud)
我想在Molecule和Atom之间建立多对多的关系,最好的方法是什么?请注意,Molecule 的主键是复合的.
谢谢
有人可以帮助我理解为什么这不起作用吗?
#include <vector>
#include <algorithm>
using namespace std;
struct person {
int age;
char name[30];
};
int main()
{
vector<person> persons(2);
vector<char*> names(2);
persons[0].age = 1;
strcpy_s(persons[0].name, "mike");
persons[1].age = 11;
strcpy_s(persons[1].name, "pol");
transform(persons.begin(), persons.end(), names.begin(),
[](person p) -> char* {return p.name; });
// ... names gets the same wrong pointer for both elements
}
Run Code Online (Sandbox Code Playgroud)
[编辑以消除不必要的错误猜测]