我需要使用 UUID 唯一地标记记录(用于相关 ID)。我看不到通过选项直接执行此操作的方法,这样的事情可能吗?如果没有,是否有某种解决方法可以做到这一点?
是否有可能在 jq 中生成随机数或字符串?
我试图找到以下循环依赖的可接受的解决方案:
template<typename T>
struct Y {
void f(T&) {}
};
template<typename T, typename U>
struct X : public Y<T>, public Y<U> {};
struct A;
struct B;
typedef X<A,B> Z;
struct A {
void g(Z& z) {
z.f(*this);
}
};
struct B {
void g(Z& z) {
z.f(*this);
}
};
int main(int argc, char** argv) {
Z z;
A a;
B b;
a.g(z);
b.g(z);
}
Run Code Online (Sandbox Code Playgroud)
在代码中,Z依赖于A和B,而A/B依赖于Z.A/B不能转换为模板类定义.当我转发声明A和B(如图所示)然后我得到一个不明智的调用,大概是因为typedef用不完整的类型实例化X?
当然我可以简单地将X定义为以下内容并且一切正常:
struct A;
struct B;
struct X {
void f(A&) {}
void f(B&) {}
}; …
Run Code Online (Sandbox Code Playgroud)