标签: 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
查看次数

计算物理项目中的目录结构

现在的情况

我的科学项目主要包含具有物理目的的不同分析和数值计算,即我使用 Mathematica、MATLAB、Fortran。当然,使用 git 这样的版本控制程序提交进度是一个好主意。

我问一些朋友构建文件的最佳方法是什么。除了简单且众所周知的程序员文件结构(,,,,,/bin/... )之外,我没有找到令人满意但相似的答案/dat//doc//src/

我希望这个问题不会像物理学家提出的那样被解决;)因为我猜许多科学家在某种程度上或多或少地面临着同样的问题。由于知道程序员以前遇到过此类问题,我不会在Physics Stack Exchange上问这个问题,它可能会被标记为off-topictoo broad

例子

在我的上一个项目中,我具有以下全局结构,其中不同项目项之间进行了一些交互:

/External_Code_Contribution/
/Experimental_Data/
/Analytical_Calculations/
  /Project_Issue_1/
  /Project_Issue_5/
/Documentations/
  /Thesis/
  /Papers/
  /Talks/
/Literature/
/Project_Organization/
/Numerical_Calculations/
  /Project_Issue_1/
    /SubIssue_A/
    /SubIssue_B/
    /SubIssue_C/
  /Project_Issue_2/
  /Project_Issue_3/
  /Project_Issue_4/
  /Project_Issue_6/
Run Code Online (Sandbox Code Playgroud)

描述: 在这个项目中,我根据文件的功能(外部贡献、实验数据、数字、文档等)对文件进行了划分,然后根据问题(在该步骤中计算的内容)对它们进行了细分,其中每个问题又包含子问题(例如,使用不同数据集进行类似计算)带有源代码、二进制文件和处理后的数据(为简单起见,全部位于同一目录中)。

不幸的是,在这种方法中,我必须:

  • 请参阅相应问题中的源代码(更改任何内容都可能导致不兼容的危险),或者
  • 将源代码复制到每个新问题(每个具有相同名称但位于不同文件夹中的源代码文件可能不同)。

问题

谁遇到过在目录中构建项目的问题?请告诉我你的方法以及使你采用这种结构的论点!

可能的补充:当我如上所述为项目设置文件结构时应该记住什么?)

如果您不完全理解答案,请随时提问,而不是举报。谢谢你!

directory physics structure directory-structure project

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

ColdFusion - 循环遍历数组中的嵌套结构

我有一个从外部 API 返回的 json:

{ "data" : { "consignmentDetail" : [ { "consignmentNumber" : "5995600864",
            "parcelNumbers" : [ "15505995600864" ]
          } ],
      "consolidated" : false,
      "shipmentId" : "60764454"
    },
  "error" : null
}
Run Code Online (Sandbox Code Playgroud)

我可以shipmentId通过反序列化 JSON 并抓取 来获取该值data.ShipmentId。我确实也需要获取 的值consignmentNumber,但是当我尝试将数组作为集合循环时,我收到错误:

“无效的集合 [{parcelNumbers={[15505995603009]},consignmentNumber={5995603009}}]。必须是有效的结构或 COM 对象。”

到目前为止我的代码是:

<cfset consignmentDetailArray = [] >
<cfset consignmentDetailArray = shipmentData.data.consignmentDetail>
<cfset mystruct ={}>

<cfloop collection=#consignmentDetailArray# item="i">
   <cfset myStruct = consignmentDetailArray[i]>
   <cfloop collection="#myStruct#" item="key">
      <cfoutput>#key#: #myStruct[key]#<br /></cfoutput>
   </cfloop>
</cfloop>
Run Code Online (Sandbox Code Playgroud)

有什么想法导致错误吗?是因为数组中有一个结构体的值为 吗consignmentDetail?如果是这样,有关于如何正确循环该结构的任何指示吗? …

arrays coldfusion json structure nested-loops

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

PHP MVC结构放置自己的类

我刚开始看一下MVC模式.我的问题是:

我将把我的其他类文件(数据库,用户,记录器,邮件程序等)放在哪里?我应该为他们创建一个新目录libs吗?

我应该Controllermodel函数内部实例化类吗?

<?php

class Controller {
    protected function model($model) {
        require_once('../app/models/'. $model .'.php');

        return new $model();
    }

    protected function view($view, $data = []) {
        require_once '../app/views/'. $view .'.php';
    }
}
Run Code Online (Sandbox Code Playgroud)

php model-view-controller structure

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

不能使结构的字段在C中保持不变

当我声明下面给出的结构时,它会抛出编译错误.

typedef struct{
    const char x; //it is throwing compilation error
    const char y;
}A;

void main()
{
    A *a1;
    a1 = (A*)malloc(2);
}
Run Code Online (Sandbox Code Playgroud)

如何使结构的字段(字符xy)保持不变?

c structure constants

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

为什么域级别的结构是从右到左?

为什么域的结构是从右到左(从顶级元素开始)?

\n\n
www.google.com\n
Run Code Online (Sandbox Code Playgroud)\n\n

代替

\n\n
com.google.www\n
Run Code Online (Sandbox Code Playgroud)\n\n

我不知道\xc2\xb4t 知道顶级元素在右侧的任何其他情况。\n它\xc2\xb4s 总是

\n\n
parent/child/sub-child\n
Run Code Online (Sandbox Code Playgroud)\n\n

只是感兴趣。

\n

subdomain dns structure

5
推荐指数
0
解决办法
278
查看次数

是否可以将结构变量作为函数参数传递而无需事先定义它?

我有两个结构定义为(in color.h):

typedef struct rgb {
  uint8_t r, g, b;
} rgb;

typedef struct hsv {
  float h, s, v;
} hsv;

hsv rgb2hsv(rgb color);
rgb hsv2rgb(hsv color);
Run Code Online (Sandbox Code Playgroud)

然后,我有以下main.c工作:

hsv hsvCol = {i/255.0, 1, 1};
rgb col = hsv2rgb(hsvCol);
Run Code Online (Sandbox Code Playgroud)

我希望能够hsvCol在参数内创建变量,hsv2rgb而无需创建变量并将其作为参数传递.

我已经尝试了下面的每一个(代替上面的两行),遗憾的是没有编译:(

rgb col = hsv2rgb({i/255.0, 1, 1});
rgb col = hsv2rgb(hsv {i/255.0, 1, 1});
rgb col = hsv2rgb(hsv hsvCol {i/255.0, 1, 1})
rgb col = hsv2rgb(struct hsv {i/255.0, 1, 1});
Run Code Online (Sandbox Code Playgroud)

我的问题是:

  1. 我可以做我想做的事情(但显然是以不同的方式)?

  2. 如果是1,我该怎么做呢?

c structure compound-literals

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

在字典中获取决策树

我正在寻找一种在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
查看次数

构建由 3 个子程序组成的程序的正确方法

我正在构建一个由 3 个程序组成的系统,我们称它们为 A、B 和 C。现在我认为我的文件结构是一场灾难。

\n\n

在我的根文件夹中,有一些运行程序的 .bat 文件的快捷方式和一个名为programs_data 的文件夹。在该文件夹中,我有 4 个单独的文件夹,每个程序一个,外加一个公共文件夹。\n问题是我需要每个程序以及这些程序中的子脚本能够从公共文件夹导入,并且我需要程序 C 和B能够调用程序A的API。

\n\n

现在,我在子文件中附加到 sys.path 以从上层导入函数时遇到了混乱。

\n\n

构建这样的东西的正确方法是什么?

\n\n

当前结构:

\n\n
root\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 Configuration.lnk\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 Documentation.lnk\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 Program A.lnk\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 Program B.lnk\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 Program C.lnk\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 programs_data\n\xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 Program A\n\xe2\x94\x82   \xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 Program A API.py\n\xe2\x94\x82   \xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 Program A.bat\n\xe2\x94\x82   \xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 Program A.py\n\xe2\x94\x82   \xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 src\n\xe2\x94\x82   \xe2\x94\x82   \xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 server.py\n\xe2\x94\x82   \xe2\x94\x82   \xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 test_functions.py\n\xe2\x94\x82   \xe2\x94\x82   \xe2\x94\x82   \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 validation.py\n\xe2\x94\x82   \xe2\x94\x82   \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 targets\n\xe2\x94\x82   \xe2\x94\x82       \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 sql_querys\n\xe2\x94\x82   \xe2\x94\x82       \xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 query1.sql\n\xe2\x94\x82   \xe2\x94\x82       \xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 query2.sql\n\xe2\x94\x82   \xe2\x94\x82 …
Run Code Online (Sandbox Code Playgroud)

design-patterns structure file python-3.x

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

这行代码“#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
查看次数