首頁>Club>
7
回覆列表
  • 1 # 醬醬


    "wang","NO NAME"這類字面量(字串常量一種)並非new出來的物件,是不可以被delete。

    p_owner=new char[strlen(p)+1];

    p_owner=p;

    這裡犯了很嚴重的錯誤:

    第一句分配了char[]物件並把其首地址賦給p_owner,但並沒有往裡賦什麼值,

    第二句馬上把p的值(按上下文理解就是常量"wang"的首地址)賦給p_owner,等於把new出來的char陣列給搞丟了。

    這句p_owner=new char[strlen(p)+1];白忙活一場不說,還把一個在堆上分配的物件搞丟了而沒delete,會導致記憶體洩露。

    ps:記憶體分配儘量遵循誰建立,誰delete的原則,儘量不要乞求別人給你delete,也儘量不要妄想一個未知的呼叫者給你傳個new出來的物件讓你進行delelte。

  • 2 # 湘雪晨晨

    C++是C語言的繼承,它既可以進行C語言的過程化程式設計,又可以進行以抽象資料型別為特點的基於物件的程式設計,還可以進行以繼承和多型為特點的面向物件的程式設計。C++擅長面向物件程式設計的同時,還可以進行基於過程的程式設計,因而C++就適應的問題規模而論,大小由之。下面介紹VC6.0新建cpp檔案方法:

  • 中秋節和大豐收的關聯?
  • 一對夫妻生一兒一女離婚各一個,算獨生子女嗎?