用整数引用c#的封送结构
本文关键字:结构 整数 引用 | 更新日期: 2023-09-27 18:10:04
嗨,我正在尝试创建和编组以下结构从c#到c++,并维护链接的引用。我不确定这个结构应该如何在c#中定义?在c++中,结构必须如下所示,并保留const引用:
// C++
struct {
int a; // my value
const int& b = a; // my reference to a
}
有人知道这是可能的吗?
谢谢。
编辑:
这更能代表我想要完成的事情,正如@Hans指出的那样,它不是合法的c++,但也许有人可以建议一个更好的路径?system_t
在c++或c#中生成,并传递给c++。我最好的猜测是:(如果这是一个好的设计模式)是初始化c++中system_t
构造函数中的所有引用。至于c#的封送处理,它会变得很复杂。
struct system_t
{
float sysSampleRate = 112500.0f; // Sample rate from receivers.
// Illegal statement @Hans
struct tvg_t // tvg_t is passed to tvg processor
{
float tvgLinearGain;
const float& tvgSampleRate = sysSampleRate; // Get the rate from system.
// Illegal statement @Hans
} tvg; // Nested tvg_t in system_t.
//... Many other structures and variables ..//
};
我想找到正确的设计模式,而不是放弃这个,去一个平面结构或传递system_t
到每个模块。
应该可以:
[StructLayout(LayoutKind.Sequential)]
public struct MyCStruct {
public int a;
public IntPtr b;
}