derived-types相关内容

错误:具有非零等级的部分引用右侧的部分名称具有 ALLOCATABLE 属性

我想使用子例程 sum_real 访问数组派生类型中的数组元素.即:对所有人的权重中的第一个条目求和. 输入 my_type真实的,维度(:),可分配的::重量真实的::total_weight结束类型 my_type类型 (my_type)、维度 (:)、可分配 :: 人类型(my_type)::答案分配(人(2))分配(人(1)%权重(2))分配(人(2)%权重(2))人 (1) % 体重 ..
发布时间:2022-01-14 09:41:49 其他开发

Fortran 派生类型包含可从 C 访问的指针

我有一个 Fortran 代码,其中包含许多包含指针的派生类型.我正在编写需要访问这些变量的 C++ 代码.如果没有指针,我无法重写这些派生类型,因为它们在 Fortran 代码中的数百个不同地方使用. 下面是示例代码: 简单的模块使用 iso_c_binding类型,绑定(C)::简单整数 :: A整数、指针 :: B、C(:)端型简单结束模块简单 我需要从 C 中访问 SIMPLEF ..
发布时间:2022-01-14 09:40:40 其他开发

尽管完成了派生类型的 Fortran 数组和内存泄漏

虽然我已经编写了最终过程,但我定义了一个派生类型并遇到了一些内存释放问题.代码如下 模块 ModuleCoordinate隐式无类型 :: TCoordinate实数(8),维度(:),指针::坐标=>;空值()包含过程 :: TCoordinateAssignment通用的,公共的 :: 赋值(=)=>TCoordinateAssignment最终 :: TCoordinateDel结束类型 ..
发布时间:2022-01-14 09:27:04 其他开发

尽管最终确定,但派生类型的 Fortran 数组和内存泄漏

我定义了一个派生类型并在内存释放方面遇到了一些问题,尽管我已经编写了最终过程.代码如下 module 模块坐标隐式无类型 :: TCoordinatereal(8),dimension(:),pointer :: Coordinate =>空值()包含程序:: TCoordinateAssignment通用,公共::赋值(=)=>坐标分配最终 :: TCoordinateDel结束类型 TCoo ..
发布时间:2021-12-30 23:40:55 其他开发

在 Haskell 中推导是如何工作的?

Haskell 中的 代数数据类型(ADT)可以自动成为某些typeclasse的实例(例如Show, Eq) 从它们派生. data 也许 a = 无 |只是一个推导 (Eq, Ord) 我的问题是,这个 deriving 是如何工作的,即 Haskell 如何知道如何为派生 ADT 实现派生类型类的功能? 另外,为什么 deriving 仅限于某些类型类?为什么我不能自己写可以派生 ..

错误:具有非零等级的部件引用右侧的部件名称具有 ALLOCATABLE 属性

我想使用子例程 sum_real 访问数组派生类型中数组的元素.即:对所有人的权重中的第一个条目求和. 输入 my_type真实的、维度(:)、可分配的 :: 重量真实 :: total_weight结束类型 my_type类型(my_type),维度(:),可分配的::人输入 (my_type) :: 答案分配(人(2))分配(人(1)%权重(2))分配(人(2)%权重(2))人 (1) % ..
发布时间:2021-11-18 03:50:38 其他开发

错误:具有非零等级的部件引用右侧的部件名称具有 ALLOCATABLE 属性

我想使用子例程 sum_real 访问数组派生类型中数组的元素.即:对所有人的权重中的第一个条目求和. 输入 my_type真实的、维度(:)、可分配的 :: 重量真实 :: total_weight结束类型 my_type类型(my_type),维度(:),可分配的::人输入 (my_type) :: 答案分配(人(2))分配(人(1)%权重(2))分配(人(2)%权重(2))人 (1) % ..
发布时间:2021-11-18 03:50:29 其他开发

将常量命名为派生数据类型的组成部分

似乎Fortran 90不允许在派生数据类型中使用命名常量.这是真的?以下代码不起作用. 程序my_prog隐式无类型:: my_type整数,参数:: a = 1实(种类(1.d0)):: b结束类型my_type类型(my_type):: complex_type结束程序my_prog 编译器说派生类型定义中不允许使用参数语句. 当我删除 parameter 关键字时,一切正常.但 ..
发布时间:2021-04-24 19:15:09 其他开发

Fortran派生类型

我想知道是否有可能在Fortran中定义一个派生类型,该派生类型自动返回正确的类型,而无需专门调用该类型,例如var%real?这是一个解释我的意思的示例: module DervType implicit none type, public :: mytype real(8) :: r integer :: i logical :: l end ty ..
发布时间:2020-06-11 19:06:44 其他开发

派生类型的构造方法

我正在尝试为派生的类型的抽象类型编写构造函数,以目标是使运行时多态性设置正确的动物腿数. 这是两个模块: 动物 module animal_module implicit none type, abstract :: animal private integer, public :: nlegs = -1 contains ..
发布时间:2020-06-11 19:06:42 其他开发

在Fortran 90中使用2D数组与派生类型的数组

假设您需要一个数组列表,每个数组具有相同的大小。使用2D数组在性能上是否更好: 整数,可分配的:: data(:, :) 或一系列派生类型: 类型测试 整数,可分配::内容(:) 最终类型 类型(test),可分配::数据(:) 当然,对于不同大小的数组,我们别无选择。但是在两种情况下如何管理内存?另外,其中之一是良好的代码习惯吗? 解决方 ..

C ++中的子类型与派生类型

我最近听说我的一位同事声称“子类型"的概念未在C ++中定义.他声称“子类型"在C ++术语中正确地称为“派生类型".这是真的?如果我有: class A { }; class B : public A { }; 我可以将B称为A的子类型吗?还是仅在C ++中将B称为A的“派生类型"是有效的? 解决方案 子类型不是C ++中常见术语的一部分. Wikipedia中的定义(感谢C ..
发布时间:2020-06-11 19:06:36 C/C++开发

mpi中darray和subarray有什么区别?

我有一个并行编程类的并行I / O项目,我必须实现派生数据类型。我没有清楚地理解darray和子阵列之间的区别。 darray可以从动态分配的数组派生吗?主要区别是什么? 解决方案 Subarray允许您描述更大的多维数组的单个块/切片。如果每个MPI任务都有一个大型全局数组的单个切片/块,(或者如果您正在任务之间传递本地数组的块),那么MPI_Type_create_subarray就是 ..
发布时间:2018-08-24 17:45:57 其他开发

如何在C#中使用派生返回类型覆盖方法?

我想用派生类类型覆盖虚方法。目前最好的方法是什么?到目前为止,我发现了两种方法: 使用 abstract base class ;使用 protected 方法桥接。 使用 protected 实现 public accessor。 基本情况(未实施解决方案,克隆始终返回基本类型 A1 ): 公共类A1 { public int X1 {get;组; } public ..
发布时间:2018-08-03 15:47:00 C#/.NET