首页 文章
  • 337 votes
     answers
     views

    为什么使用alloca()不被视为良好做法?

    alloca() 从堆栈而不是堆中分配内存,这是 malloc() 中的情况 . 所以,当我从例程返回时,内存被释放 . 所以,实际上这解决了我释放动态分配内存的问题 . 释放通过 malloc() 分配的内存是一个令人头痛的问题,如果不知何故错过导致各种内存问题 . 尽管有上述特征,为什么不鼓励使用 alloca() ?
  • 1 votes
     answers
     views

    Matlab - 使用矩阵作为数组向量的索引

    我目前有一个包含预定义值的单元格数组的向量 . 这些值的数量和内容应该可以变化: names = {'r1','r2','r3'}; 此外,我有一个矩阵,应该作为索引矩阵 . 但是,看起来以下示例的大小也应该是可变的 . mat = [1 3 3; 2 1 3; 1 1 1]; 交付: 1 3 3 2 1 3 1 1 1 我现在想要创建一个矩阵,其中包含相同矩阵格式的数组...
  • 0 votes
     answers
     views

    在C中使用malloc分配动态内存

    我'm new to C and have been trying to tackle this question. It'是the last thread I made的延续 . 我取得了一些进展,但仍然需要学习和修复 . 简而言之: 在这个问题中,“向量”是整数的一维数组 . 因此,矢量数组将是一个二维数组,其中包含一维数组 . 我需要使用这些变量: int ** vectors - ...
  • 35 votes
     answers
     views

    Structs是否总是堆栈分配或有时堆分配?

    我的印象是在C#中,struct元素在堆栈上分配,因此从创建它们的方法返回时会消失 . 但是如果我将struct-values放在一个列表中并返回它会发生什么?元素幸存下来 . Are struct instances sometimes allocated on the heap? internal struct Stru { public int i; } internal clas...
  • 0 votes
     answers
     views

    合并函数的合并删除最大的按字母顺序排序的条目结构

    mergesort函数正确排序,直到最后一次迭代,其中最大的字母值从完成的数组中完全删除 . 我是C的新手,我正在努力解决这个问题,因为在使用strcmp时,mergesort works perfectly 与ENTRY结构的OCCURRENCES属性有关但不与char数组WORDS ...它应该工作相同,这里是结构的代码和用于合并和排序功能: 这是我输出的一个示例:该文件包含“你好世界你怎么...
  • -2 votes
     answers
     views

    如何将内存分配给C中结构中的char指针?

    我在下面使用这个结构,但如果我想从一个巨大的文件中获取所有String,它是有限的... typedef struct arr { char name[200]; // Could be a number higher than 200 here... } array; 现在,如果我用... typedef struct arr { char *name; } array; 那...
  • -2 votes
     answers
     views

    不了解被问及的内容以及如何输入内容?

    我无法理解该程序的某些部分问题,并想知道为什么以及如何键入该程序 . 以下是我无法理解的部分: 第三个成员变量是指向double,pquiz的指针 . 这将用于动态分配一个数组,该数组将保存学生的测验成绩 . (我这样做了吗?) 第四个成员变量是一个双倍保持测验成绩的平均值 . 该类应该有一个接受int的参数构造函数,并将动态分配双测验等级数组 . 或者类可以>有一个两个参数构造函数,它接受...
  • 0 votes
     answers
     views

    在循环中分配原始数据类型的次数是多少?

    这是一个例子: while (i < 10) { int j = 1; string k = "hello."; } j是原始数据类型,k是对象 . 根据Do built-in types have default constructors?, 因此非类类型(包括基本类型,数组类型,引用类型,指针类型和枚举类型)没有构造...
  • 7 votes
     answers
     views

    返回依赖于函数内分配的数据的延迟迭代器

    我是Rust的新手并阅读了Rust编程语言,并在错误处理部分there is a "case study"中描述了使用 csv 和 rustc-serialize 库(使用 getopts 进行参数解析)从CSV文件读取数据的程序 . 作者编写了一个函数 search ,它使用 csv::Reader 对象逐步执行csv文件的行,并将'city'字段与指定值匹配的条目收集到向量...
  • 3 votes
     answers
     views

    在MPI进程之间发送带有可分配数组的derived-type

    对于上下文,在我的CFD模拟中,我的计算域被分成块 . 每个块都有自己的单元格数,每个单元格包含各种信息 . 块通过域分解算法在进程间分布,以实现 balancer 负载 . 网格计算域仅由进程0执行(我不想在每个进程中存储整个网格,因为它在使用的内存方面将是灾难性的) . 实际上,网格被编码为一维块数组,每个块都是一个复杂的派生类型,具有其他派生类型的可分配语句: TYPE something ...
  • 0 votes
     answers
     views

    fortran传递已分配的数组到主程序

    我有一个带有函数的模块,它带有一个起点和终点,并读入 .txt 某个浮点值 . 我希望该函数返回一个表,我不知道它在启动之前会有多大 . 我希望在主程序中使用此函数两次来制作第三个真实数组 . 但Fortran并不喜欢它 . 这是我的函数代码: module ReadData !in this part, you need to know : ! -the starting (...
  • 1 votes
     answers
     views

    Fortran中的多态数组分配例程

    目标是创建一个单一的分配例程,它可以处理任何类型的一级分配 . 然后,我们的代码库可以使用标准化的错误捕获进行单个调用 . 编译器错误如下: generic_allocation.f08:32:27: call myAllocator ( array_int, source_int, lambda ) 1 Error: Ac...
  • 2 votes
     answers
     views

    建议在Fortran中放置数组分配的做法

    关于我们应该在何处分配阵列的建议或最佳实践是什么? 例如,如果我有一个(我的简化版本)程序,我将在主程序中分配输出变量(感兴趣的变量) . 这个主程序调用子程序 foo ,然后调用子程序 foo2 ,谁进行实际计算 . 我的问题是应该在哪里进行分配的最佳/推荐做法 . 如果 foo2 进行实际计算,是否应该分配数组? 如果 foo 调用 foo2 , foo 应该分配数组而 foo2 只进...
  • 1 votes
     answers
     views

    英特尔Visual Fortran可分配固定长度字符串数组

    运行Intel Parallel Studio 2015和Visual Studio 2012.启用Fortran 2003兼容性 . 以下代码是否存在问题,因为它在我的机器上引起了一个非常混乱(至少对我来说)堆损坏错误,并且我试图找出它是否是我无法正确理解的东西或编译器错误 . character(len=200), dimension(:), allocatable :: inFNs real...
  • 1 votes
     answers
     views

    带字符串的结构的C内存分配

    如果我在一个结构中有一个字符串成员然后存储到一个数组中,那么内存是如何分配的? struct garage { int ncars; int nspaces; int nmechanics; string name; } 但对于最后一个成员,name,string基本上是basic_string的typedef,所以它的内存在定义时会被分配,对吧?例如:garage.na...
  • -1 votes
     answers
     views

    如何在一个分配C中动态分配二维数组

    你能帮我弄清楚如何在一次分配呼叫中分配2D阵列吗? 我试着这样做: int ** arr =(int **)malloc(num * num * sizeof(int *)); 但它不起作用 . num 是行和列 .
  • 0 votes
     answers
     views

    在hadoop YARN上分配了多少内存和vcore?

    我想问一下,在yarn-site.xml和mapred-site.xml中的hadoop yarn中都有像最小和最大内存或vcore这样的属性 . 我有点混淆,实际上实际上分配了多少内存和vcore,因为在配置上我们只写最小值和最大值而不是实际大小 . 如果我有内存16 GB和4 vcore和这样的配置: yarn.scheduler.minimum-allocation-mb = 1024 ya...
  • 0 votes
     answers
     views

    每个对象内存分配有多少开销? [关闭]

    比方说,如果我调用malloc(sizeof(int)),请求4个字节,系统(或std库?)将添加多少额外资源来支持内存管理基础架构?我相信应该有一些 . 否则,当我调用free(ptr)时,系统如何知道要处理多少字节 . 更新1:这可能听起来像一个“太宽泛的问题”,显然,特定于C / C库,但我感兴趣的是支持单个分配所需的最小额外内存 . 甚至不是特定的系统或实现 . 例如,对于二叉树,必须有2...
  • 4 votes
     answers
     views

    如何在共享内存中的struct内部分配链表c

    我在C中的结构中有一个链表,或者我认为 . 结构是: //Structure of the domain list typedef struct domains *domain_list; struct domains{ char *domain; domain_list next; }domains_node; //Structure of the configurat...
  • 0 votes
     answers
     views

    如果我在指向矢量std :: vector <Object *> *的指针上调用“delete”,那么元素也会被删除吗? [重复]

    可能重复:C向量指向对象是否std :: list :: remove方法调用每个被删除元素的析构函数? 如果我有一个std :: vector定义为: std::vector&lt;Object*&gt;* myObjects; 然后打电话: delete myObjects; 那么myObjects中的元素也会被删除吗?使用std :: array或任何其他stl容器有什么区别吗? 提...
  • 1 votes
     answers
     views

    C - 分配内存,它是如何存储的?

    在我看过的K&R电子书中,我遇到了这段代码: 我关心的是: allocbuf + ALLOCSIZE - allocp &gt;= n 代码获取缓冲区开始和计算的地址,使用指向自身的指针索引以及上面定义的最大缓冲区长度常量,即剩余的总分配 . 现在,据我所知,如果你要定义一个字符指针,那么就算是将算术递增一个: char *ptr = &quot;array&quot;; ptr++; 然后...
  • 1 votes
     answers
     views

    可分配的用户派生类型

    我有一个关于Fortran的问题和正确分配可分配用户派生类型 . 这是我的代码: module polynom_mod implicit none type monomial integer,dimension(2) :: exponent end type type polynom real, allocatable, dimension(:) :: coeff type(...
  • 2 votes
     answers
     views

    Fortran中可分配的继承派生类型数组

    我正在尝试创建一组全局可用的可分配数组,这些数组包含与单个对象共享继承的一组派生类型 . Fortran似乎并没有让这很容易 . 以下是我到目前为止的情况 . 首先是带有可分配数组的派生类型和模块 . Module Environment use Entity_M type(Entity_C), dimenion(:), allocatable :: objects End Mo...
  • 1 votes
     answers
     views

    二叉树,不能释放内存

    我已经制作了一个二叉树(BST),它工作正常,但我无法释放我分配的内存 . 节点由指针(左,右,父)和数据组成,这是名字,姓名和电话号码 . 名字和名称是静态字符数组,电话号码是int,它也是我的树的键 . 我用这个函数来释放内存: void FreeYourTree(node* x) { if (!x) return; FreeYourTree(x-&gt;lef...
  • 1 votes
     answers
     views

    Java多态中对象的字段访问和内存分配

    我有以下示例代码解释样本多态性概念 - 覆盖 class Super { public int number = 1; public char superText='a'; public String getColor() { return &quot;red&quot;; } ...

热门问题