zoukankan      html  css  js  c++  java
  • 堆和栈的区别思考

    堆:是new申请的,手动申请与释放,申请大小不受限制(只在内存够),

    栈:系统自动申请与回收,不需要手动释放,但申请大小有限(在Win平台申请为1M, Mac平台为8M)

    用Qt测试

    在Qt的项目代码中,

    在Qt的对话框中加入这段代码,然后调用显示对话框

    char charStack[1024 * 1024];  在Win平台上用QtCreator编译,会崩溃,提示栈溢出

    在mac 平台

    char charStack[1024 * 1024 * 8]; 用Qt Creator编译,会崩溃,也是栈溢出

    以前写代码都是new一个对象,这样方便重复使用。

    其实还有一个重要的原因是栈申请的空间有限,如果数据量大会引起栈溢出,申请失败就崩澡了

  • 相关阅读:
    第一次热身赛和正式比赛感想
    简明解释算法中的大O符号
    poj 3045
    poj 3104
    poj 3273
    poj 3258
    poj 2456
    二分法小结
    Poj 2718 Smallest Difference
    GCJ——Crazy Rows (2009 Round 2 A)
  • 原文地址:https://www.cnblogs.com/Vancamel/p/11316312.html
Copyright © 2011-2022 走看看