此代码在Djinni中是否有效,并且可以为目标c生成some_record

some_service = interface +c
{
    do_some_action(): bool;
}

some_record = record
{
    service: optional< some_service >;
}

最佳答案

对我来说,这似乎很简单且有效(尽管如果不尝试,我不确定我没有丢失的陷阱)。

请注意,除非您还使用非空指针支持(请参阅cpp-nn- *参数),否则可选接口在Djinni中几乎毫无意义。这些依赖于在C ++中使用诸如nn<>之类的不可为空的模板。如果没有这些模板,则无论如何接口都是默认为可为空的。在启用nn的情况下,默认情况下接口不可为空,而可选的最终将成为可为空的版本。

关于c++ - Djinni记录中是否可以包含可选的界面字段,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50980824/

10-11 13:03