标签: structure

具有指针结构的类是否需要析构函数

我有一个类,它有一个以指针作为其成员之一的结构。

struct group {
   void *v1, 
   void *v2;
};


class A {
  A (group& handle) 
  : m_handle(handle)
 private :
   group m_handle;
};
Run Code Online (Sandbox Code Playgroud)

类 A 中没有指针成员。当 A 中没有定义析构函数时,我没有看到任何问题(例如内存泄漏)。我了解到,当对象 A 超出范围时,将调用 A 的析构函数,如果存在是 A 中存在的成员类,然后调用它们的析构函数,依此类推。那么,上面的 m_handle 这样的成员结构会发生什么 - 它们是否有类似于析构函数的东西,以及当对象 A 超出范围时,结构组中的两个 void 指针如何被删除?

c++ pointers destructor structure

5
推荐指数
1
解决办法
1257
查看次数

删除空结构字段Matlab

我面临以下问题:我有一个结构数组,如:

A.B(1,1).x = 'string'
A.B(1,1).y = 12
A.B(1,2).x = []
A.B(1,2).y = []
A.B(1,3).x = 'string2'
A.B(1,3).y = 4
Run Code Online (Sandbox Code Playgroud)

我想从这个结构中删除空的 2. 行,这样最终我会得到 (1,1) 和 (1,3) 的字段。我试图转换为单元格,删除然后返回结构,但这样我不得不重新输入字段的名称。怎么可能呢?可以在不从结构转换的情况下完成吗?

蒂亚!

matlab field structure

5
推荐指数
1
解决办法
1万
查看次数

GoLang / Google App Engine - 目录结构

我开始使用 GoLang 和 GAE 开发应用程序,但我很难找到如何布局文件。到目前为止,这就是我保持 GoLang 文件组织的方式(在使用 GAE 之前)

-golang
--bin
--pkg
--src
---breinbaas.nl
----lib
-----package1
-----package2
Run Code Online (Sandbox Code Playgroud)

如果我想为 GAE 开发一个应用程序,我想把它放入

-golang
--src
---breinbaas
----deploy
-----mygae_app
Run Code Online (Sandbox Code Playgroud)

但是我如何才能使用 lib 目录中的文件?

有没有办法使用golang/src/breinbaas/lib目录下的go文件?我不断收到未找到包的错误,解决此问题的唯一方法是将 lib 目录复制到 golang/src/breinbaas/deploy/mygae-app 但这意味着将源文件复制到多个位置,这是非常糟糕的为了一致性。

提前谢谢!抢

directory google-app-engine structure go

5
推荐指数
1
解决办法
1457
查看次数

指定的类型必须是不包含引用的结构

我正在尝试Write<T>MemoryMappedViewAccessor课堂上使用该功能。我T在这种情况下如下:

[StructLayout(LayoutKind.Explicit)]
    public struct Message
    {
        public void AddString(string str)
        {
            if (stringContents == null)
                stringContents = new byte[1024 * 10];
            stringContents = Encoding.ASCII.GetBytes(str);
        }
        public string GetString()
        {
            if (stringContents == null)
                return string.Empty;
            return Encoding.ASCII.GetString(stringContents);
        }
        [FieldOffset(0)]
        public byte[] stringContents;
    }
Run Code Online (Sandbox Code Playgroud)

但是,当我拨打电话时,例如:

//Initialized Elsewhere: MemoryMappedViewAccessor writer
Message messageAlreadyOnWire = new Message();
messageAlreadyOnWire.AddString(data);
writer.Write<Message>(0, ref messageAlreadyOnWire);
Run Code Online (Sandbox Code Playgroud)

我收到如下错误:

指定的类型必须是不包含引用的结构。参数名称:类型

我的结构中唯一的“引用”是一个字节数组。有没有办法解决这个问题?我对固定长度的字节数组没问题,但我不确定如何在不深入研究 的情况下声明一个unsafe,我不想这样做。

.net c# structure exception memory-mapped-files

5
推荐指数
1
解决办法
1595
查看次数

嵌套结构填充 - C - 64 位 - linux

我在 C 中有以下嵌套结构。(64 位)

    typedef struct {
        int a;
        int b;
        int c;
        struct {
            int ab;
            long bc;
        }
        int d;
    } Test;

I see that,
a = 4 bytes
b = 4 bytes
c = 4 bytes
padding1 = 4 bytes 
inner structure = 16 bytes ( 4 bytes for ab, 4 bytes padding, 8 bytes for bc)
d = 4 bytes
padding2 = 4 bytes
Run Code Online (Sandbox Code Playgroud)

sizeof(Test) 返回 40 个字节。

我的问题:

  1. padding1 -> 为什么是 4 个字节?这是因为内部结构本身应该对齐吗?。(此外,它是否与 8 字节(长)或 …

c 64-bit nested structure padding

5
推荐指数
1
解决办法
3131
查看次数

Tesseract OCR:是否可以强制使用特定模式?

我正在使用 Tesseract,我想开发一个能够识别字符序列的应用程序。我取得了不错的成绩,但并不出色。

我想阅读的字符序列总是有一个特定的模式,让我们说:

number number number char char -(例如:123AB)

有没有办法“告诉”ocr引擎结构总是固定的,以提高识别的结果?

先感谢您。

ocr design-patterns tesseract structure

5
推荐指数
1
解决办法
4142
查看次数

联合作为 C 中函数的参数

我想知道是否可以使用联合作为函数的参数:

假设我有两个结构:

struct complex_attribute{
    struct generic_attribute *sub_attributes[20];
};

struct generic_attribute{
    int current_value;
};
Run Code Online (Sandbox Code Playgroud)

以及这两者的结合:

union union_attribute{
    struct complex_attribute *complex;
    struct generic_attribute *generic;
};
Run Code Online (Sandbox Code Playgroud)

我想创建一个接受 complex_attribute 或 generic_attribute 的函数:

struct tagged_attribute* prepare_tagged_attribute(int code, union union_attribute *attribute)
Run Code Online (Sandbox Code Playgroud)

但是,当我调用此函数时

prepare_tagged_attribute(2, pointer_to_complex_structure);
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

 passing argument 2 of ‘prepare_tagged_attribute’ from incompatible pointer type
Run Code Online (Sandbox Code Playgroud)

所以我认为指向复杂结构的指针不一定是联合类型的指针(这是有道理的)……但是有可能以这种方式使用联合吗?

c structure function unions

5
推荐指数
2
解决办法
5034
查看次数

单元测试项目的物理布局是什么?

目前,我正在学习单元测试,我想将测试集成到我当前的(10 个 OpenGL 实验文件)项目中。为此,我下载了 Boost.Test,虽然我可以弄清楚它在单个文件样本上的工作原理,但我不知道如何将它集成到我的项目中(我想使用静态链接版本)。

测试与应用程序本身不同的二进制文件吗?(如果它是一个二进制文件,如何运行它?)我应该为每个测试类创建一个测试文件吗?我的 CMakeLists 应该改变多少来反映这种集成?是否可以将测试与应用程序分离,以便我可以在没有安装 boost 的平台上构建我的应用程序?

我知道我有很多问题,但简单地说:Boost.Test 在现实生活中是如何使用的?

c++ unit-testing structure boost-test

5
推荐指数
1
解决办法
388
查看次数

在字典中获取决策树

我正在寻找一种在python中动态制作基于所需结构的字典的方法。

我有以下数据:

{'weather': ['windy', 'calm'], 'season': ['summer', 'winter', 'spring', 'autumn'],  'lateness': ['ontime', 'delayed']} 
Run Code Online (Sandbox Code Playgroud)

我给出了我希望它们像的结构:

['weather', 'season', 'lateness']
Run Code Online (Sandbox Code Playgroud)

并最终以这种格式获取数据:

{'calm': {'autumn': {'delayed': 0, 'ontime': 0},
          'spring': {'delayed': 0, 'ontime': 0},
          'summer': {'delayed': 0, 'ontime': 0},
          'winter': {'delayed': 0, 'ontime': 0}},
 'windy': {'autumn': {'delayed': 0, 'ontime': 0},
           'spring': {'delayed': 0, 'ontime': 0},
           'summer': {'delayed': 0, 'ontime': 0},
           'winter': {'delayed': 0, 'ontime': 0}}}
Run Code Online (Sandbox Code Playgroud)

这是我为实现这一目标而想到的手动方式:

dtree = {}
for cat1 in category_cases['weather']:
    dtree.setdefault(cat1, {})
    for cat2 in category_cases['season']:
        dtree[cat1].setdefault(cat2, {})
        for cat3 in category_cases['lateness']: …
Run Code Online (Sandbox Code Playgroud)

python dictionary structure

5
推荐指数
1
解决办法
277
查看次数

这行代码“#define LIBINJECTION_SQLI_TOKEN_SIZE sizeof(((stoken_t*)(0))-&gt;val)”有什么作用?

我特别想知道->val

sizeof(((stoken_t*)(0))->val)
Run Code Online (Sandbox Code Playgroud)

什么stoken_t*(0)指针(0)呢,特别是什么意思?

我希望我已经足够清楚地表达了我的问题。

c pointers structure sizeof dereference

5
推荐指数
1
解决办法
109
查看次数