国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C++ > 正文

c++

2019-11-06 09:27:36
字體:
來源:轉載
供稿:網友

1. 構造函數

定義類時要初始化構造函數的參數的值 例:

Complex.hpp

class Complex { public: Complex(double real = 0, double imaginary = 0); Complex add(const Complex &right); Complex subtract(const Complex &right); void PRintComplex(); void setComplexNumber(double rp, double ip); private: double realPart; double imaginaryPart;};

Complex.cpp(部分)

Complex::Complex(double real, double imaginary) { setComplexNumber(real, imaginary);}

2. 野指針(來自百度)

野指針指向一個已刪除對象或未申請訪問受限內存區域的指針,與空指針不同,野指針無法通過簡單地判斷是否為NULL來避免,只能通過養成良好的編程習慣來盡力減少

成因
指針變量未初始化指針釋放后為置空指針操作超越變量作用域

3. 指向結構的指針

struct guy * him him -> income == (*him).income //一定要加括號,因為.運算符比*運算符的優先級高

4. 已放棄(核心已轉儲)

該錯誤至今出現兩次:

定義的數組容量過小導致越界有返回值的函數忘記寫return

5. 代碼過程的一些思考

1 #include <stdio.h> 2 #include <stdlib.h> 3 #include "date.h" 4 int DaysInMonth(int, int); 5 Date* CreateDate(int year, int month, int day) { 6 Date *a; // 1.選擇指針與malloc 而不直接創建Date局部變量的原因 7 a = (Date *) malloc(sizeof(Date)); 8 a->year = year; 9 a->month = month; 10 a->day = day; 11 return a; 12 } 13 14 void DestroyDate(Date** p) { 15 free(*p); 16 *p = NULL; 17 } 18 19 Date* CopyDate(const Date* date) { 20 Date *a; //2.為什么不直接return date 的原因 21 a = (Date *) malloc(sizeof(Date)); 22 *a = *date; 23 return a; 24 } 25

答: 1. 假如直接創建Date局部變量,退出函數時會被銷毀,而malloc分配的內存除非自己free,否則不會被銷毀,而且通過返回指針可以找到這段內存 2. 假如直接return date,就是表示多了一個指針指向同一段內存,并不能達到copy的目的


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 昌都县| 丽水市| 漠河县| 中江县| 巴青县| 土默特左旗| 厦门市| 五常市| 宜宾市| 鄯善县| 泾阳县| 广饶县| 长泰县| 镇康县| 广汉市| 彭州市| 东至县| 沙湾县| 峨眉山市| 华安县| 施秉县| 中阳县| 博客| 永修县| 桃江县| 武功县| 大同县| 新密市| 芜湖市| 乡宁县| 洛南县| 民丰县| 彭州市| 竹山县| 厦门市| 南川市| 本溪| 明水县| 广昌县| 宣汉县| 沂南县|