zoukankan      html  css  js  c++  java
  • 释放了内存却继续使用它

    释放了内存却继续使用它。 有三种情况:

    (1)程序中的对象调用关系过于复杂,实在难以搞清楚某个对象究竟是否已经释放了内 存,此时应该重新设计数据结构,从根本上解决对象管理的混乱局面。

    (2)函数的 return 语句写错了,注意不要返回指向“栈内存”的“指针”或者“引用”

    , 因为该内存在函数体结束时被自动销毁。

    (3)使用 free 或 delete 释放了内存后,没有将指针设置为 NULL。导致产生“野指针”。

     1 #include <iostream>
     2 #include <string.h>
     3 
     4 //main()函数
     5 /* run this program using the console pauser or add your own getch, system("pause") or input loop */
     6 using namespace std;
     7 int main(int argc, char** argv) {
     8         //声明字符数组
     9     char string[]="This is a test.";
    10     int n;
    11 
    12     //获得字符串的长度
    13     cout<<"string:"<<string<<endl;
    14     n=strlen(string);
    15     cout<<"The length of "<<"""<<string<<"": "<<n<<endl;
    16 
    17     //输入字符并计算其长度
    18     cout<<"string:";
    19     cin>>string;
    20     n=strlen(string);
    21     cout<<"The length of "<<"""<<string<<"": "<<n<<endl;
    22     return 0;
    23 }
  • 相关阅读:
    Unique Binary Search Trees 解答
    Unique Paths II 解答
    Unique Paths 解答
    Maximum Subarray 解答
    Climbing Stairs 解答
    House Robber II 解答
    House Robber 解答
    Valid Palindrome 解答
    Container With Most Water 解答
    Remove Duplicates from Sorted List II 解答
  • 原文地址:https://www.cnblogs.com/borter/p/9413669.html
Copyright © 2011-2022 走看看