腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
圈层
工具
MCP广场
文章/答案/技术大牛
搜索
搜索
关闭
发布
文章
问答
(9999+)
视频
沙龙
5
回答
应该避免在C/
C++
中使用
递归
调用
吗?
、
、
应该避免在C/
C++
中使用函数
的
递归
调用
吗?当我使用Java时,我尽量避免使用
递归
调用
,因为我经常使我
的
调用
堆栈溢出。虽然有一些选项可以控制
分配
给
调用
堆栈
的
内存
量,但我认为让我
的
程序依赖于较少数量
的
参数更可取。因此,当清楚了如何在没有<e
浏览 1
提问于2011-08-04
得票数 6
回答已采纳
4
回答
递归
C++
调用
中
的
内存
分配
、
、
、
我在一个
递归
的
C++
程序中
分配
和释放
内存
时遇到了问题。因此,在不使用自动
内存
管理解决方案
的
情况下,我想知道是否有人可以帮助我解决我遇到
的
内存
泄漏问题。下面的代码本质上解释了这个问题(尽管这是一个人为
的
例子,请纠正我所做
的
任何错误或简化)。用于保存数字值
的
number类: public: Number() { value = 1;
浏览 4
提问于2009-01-07
得票数 2
回答已采纳
1
回答
在
C++
中
模拟方法
调用
堆?
、
虽然堆
内存
的
分配
速度比线程
调用
堆栈慢,但它要大得多,从而允许执行更多
的
操作(例如大规模
递归
方法
调用
)。尽管可以调整堆栈
的
大小,但相对于堆(超过1GB可用)而言,允许
的
值仍然相对较小(一些可用
的
MBs )。 出于好奇,在
C++
(例如)
中
,是否可以通过使用堆而不是线程
调用
堆栈来模拟
调用
方法?
浏览 1
提问于2016-03-15
得票数 2
回答已采纳
2
回答
没有零碎stl容器
的
大容量
内存
目前,当我们想要用非常零碎
的
内存
分配
来销毁一个非常大
的
嵌套
的
复杂对象
的
列表/映射时,我假设
C++
是
调用
析构函数并逐个
递归
地释放
内存
,这需要大量
的
时间并且效率低下?在我
的
例子
中
,我发现销毁一个300 to
的
对象有时需要1分钟或更长时间。 操作系统可以高效地杀死占用大量
内存
的
进程,因为它只释放了所有<em
浏览 23
提问于2019-02-02
得票数 7
1
回答
调用
指定
内存
地址
中
的
函数。
C++
、
、
我最近一直在写SEC算法(就像这里
的
http://18.7.29.232/bitstream/handle/1721.1/4015/HPCES024.pdf?sequence=2)。在第一个
递归
版本
中
,似乎抛出了超过200000个点
的
“堆栈溢出”异常。直到我在我自己
的
堆栈上(使用迭代而不是
递归
)编写它之前,我都不知道为什么,它在1000000个点上工作得很好。我相信当我
调用
函数时,处理器和变量
浏览 1
提问于2012-09-01
得票数 0
3
回答
C++
和Java
中
缺少
的
编程特性
C++
和Java缺少哪些编程特性?在
C++
,Java中有什么特性是好
的
。 我认为Lisp程序员将能够添加一些。
浏览 1
提问于2009-05-08
得票数 0
回答已采纳
11
回答
递归
函数
的
内存
分配
、
、
、
、
调用
递归
函数时如何
分配
内存
?一个函数有它自己
分配
的
内存
。当
调用
它时,参数(而不是引用传递
的
参数)和变量将获得
内存
。因此,当函数从其体内再次
调用
时,
内存
是如何
分配
给第二个
调用
的
变量和参数
的
?
浏览 8
提问于2014-04-21
得票数 6
回答已采纳
6
回答
如何在
递归
函数
中
防止不必要
的
内存
使用
、
、
、
我刚刚写了一个
递归
函数,我突然意识到,我在函数中使用
的
所有变量都将保留在
内存
中
,直到
递归
中断。如果我
递归
了大量
的
次数,或者为随后
的
递归
函数
调用
中
没有使用
的
变量
分配
了大量
内存
,这会导致大量浪费
内存
的
使用吗?例如,在下面的代码
中
,在下面的
递归
中只使用了vec2,而temp_int
浏览 2
提问于2010-08-29
得票数 6
3
回答
本机
C++
库
的
内存
分配
器,供C#使用
、
、
我正在编写一些需要从
C++
调用
的
本机
C++
代码(并且不能用C#代码替换
C++
本机代码)。
分配
/释放位置似乎是正确
的
,它们发生在由本机代码
浏览 10
提问于2010-01-31
得票数 0
回答已采纳
1
回答
C++
如何处理
递归
类定义?
、
、
、
、
最近,我开始使用
C++
进行模板元编程,并尝试将一些基本函数转换为各自
的
递归
编译时模板定义。<T, A, N-1>::value } };模板
的
语法和功能令我吃惊然而,有一个问题困扰着我:
C++
如何处理这些
递归
定义?(资源方面) 编译器如何处理包含枚举值
的
模板类<em
浏览 2
提问于2017-12-25
得票数 1
回答已采纳
3
回答
在同一个类
中
创建一个类
的
对象时出现
C++
错误?
像Java和C#一样,我可以在同一个类
中
创建一个类
的
对象吗?
浏览 1
提问于2012-07-25
得票数 1
回答已采纳
2
回答
分而治之真的能战胜增加
的
内存
分配
吗?
、
、
、
我刚刚完成了一些经典
的
分而治之算法
的
编码,然后我提出了以下问题:(出于好奇心,更多) 诚然,在许多情况下,分治算法比传统算法更快;例如,在快速傅立叶变换
中
,它将复杂度从N^2提高到Nlog2N。然而,通过编码,我发现,由于“划分”,我们有更多
的
子问题,这意味着我们必须创建更多
的
容器,并为子问题
分配
更多
的
内存
。想想看,在合并排序
中
,我们必须在每次
递归
中创建左数组和右数组,而在快速傅立叶变换
中
,我们必须
浏览 2
提问于2013-07-30
得票数 0
3
回答
为什么
递归
深度不确定(
C++
)?
、
、
、
在分段错误之前,重复运行下面的
C++
程序会给出不同
的
最大
递归
调用
数(由大约100个函数
调用
变化)。recursion(i);{};g++ -O0 main.cpp -o main 和 --与上述相同
的
问题--将在java
中
讨论。为什么
C++
的
最大
递归
次数会有所不同?
浏览 4
提问于2020-12-12
得票数 0
回答已采纳
2
回答
如何在跟踪
内存
泄漏时获取堆栈跟踪?
、
、
、
我已经用
c++
编写了一个
内存
跟踪系统,使用Detour来修补各种
内存
分配
函数。除了malloc之外,当我收到对malloc
的
调用
时,我还存储了堆栈跟踪(这样我就可以定位泄漏)。获得准确堆栈跟踪
的
唯一可靠方法是使用StackWalk64 (我尝试过RtlCaptureStackBackTrace,但这只能捕获非常简单
的
堆栈)。然而,这是我
的
问题所在,StackWalk64
调用
malloc,而malloc又
调用<
浏览 3
提问于2010-08-17
得票数 4
回答已采纳
2
回答
C++
delete语句
的
动态是什么?
、
、
这仅仅是出于好奇,因为除了最基本
的
用途之外,我没有在
c++
中使用过new和delete。 }private:}; 假设这个类以某种方式为intArray
分配
内存
,然后在析构函数
中
释放它,是否首先
调用
类析构函数来释放类
浏览 4
提问于2010-11-24
得票数 4
回答已采纳
1
回答
新
的
重载运算符,使得一部分代码使用重载运算符,而其余代码使用默认运算符
、
、
、
我正在开发一个运行时数据流/模型分析器模块
的
内存
分配
器/快照组件。我们
的
部分需求是在我们控制
的
自定义
内存
区域中
分配
测试程序
的
数据结构。我能想到
的
一个解决方案是重载运算符new,以某种方式找到
调用
者上下文。(我通常有一个语义,比如创建一个
C++
对象<在constructor>
中
设置一个
递归
标志,在析构函数
中
清除它),
浏览 1
提问于2012-04-11
得票数 0
回答已采纳
10
回答
在C语言中,在函数中使用静态变量是否会使运行速度更快?
、
、
、
、
我
的
函数将被
调用
数千次。如果我想让它更快,将局部函数变量更改为static会有什么用处吗?我背后
的
逻辑是,因为静态变量在函数
调用
之间是持久
的
,所以它们只在第一次
调用
时被
分配
,因此,每次后续
调用
都不会为它们
分配
内存
,并且会变得更快,因为
内存
分配
步骤没有完成。另外,如果上面的情况是真的,那么使用全局变量而不是参数在每次
调用
函数时将信息传递给函数是否会更快?我认为在每次
浏览 0
提问于2010-10-01
得票数 22
回答已采纳
1
回答
内部动态
内存
管理
、
、
、
、
我是一名学生,想了解更多关于动态
内存
管理
的
知识。对于
C++
,
调用
操作符new()可以在堆(空闲存储)下
分配
内存
块。事实上,我不知道如何实现它。这里有几个问题: 1)操作系统可以
分配
内存
块
的
机制是什么?据我所知,有一些基本
的
内存
分配
方案,如first-fit,best-fit和worst-fit。操作系统是否使用其中之一在堆下动态
分配
内存
?2) A
浏览 0
提问于2011-09-10
得票数 1
回答已采纳
6
回答
什么存储在堆上,什么存储在堆栈上?
、
、
、
有人能用C、
C++
和Java清楚地解释一下吗?什么都在堆栈上,什么在堆上,什么时候
分配
完成。每个函数
调用
的
所有局部变量,无论是基元、指针还是引用变量,都在一个新
的
堆栈框架上。使用new或malloc创建
的
任何内容都会放在堆上。在堆上创建
的
对象
的
成员引用/原语也存储在堆上吗? 那么在每个框架
中
递归
创建
的
方法
的
那些局部成员又如何呢?它们
浏览 4
提问于2012-01-02
得票数 24
回答已采纳
1
回答
我不明白为什么这个简单
的
递归
可以工作并崩溃
我做了一些关于
C++
的
技巧问题,我运行了类似的代码,然后我修改了它,看看会发生什么。有人能解释这两个问题吗?
浏览 58
提问于2019-05-31
得票数 0
回答已采纳
点击加载更多
相关
资讯
谷歌开源TCMalloc,专为C和C++定制的内存分配器
JAVA:方法的定义,重载,递归调用
内存的分配策略
弹性内存分配在IOT中的重要性
编程篇10:函数调用怎样在内存中跳转?
热门
标签
更多标签
云服务器
ICP备案
对象存储
即时通信 IM
云直播
活动推荐
运营活动
广告
关闭
领券