C 模組累積的理解

2021-10-04 09:33:05 字數 1718 閱讀 4615

通俗的解釋就是元素構成小模組,小模組構成大模組。

析構的過程正好相反,大模組析構後小模組被暴露,小模組再被析構

要注意:先構造的後析構

#include

using

namespace std;

class

point

///拷貝建構函式:完成完整模組之間的複製

point

(point& p):x

(p.x),y

(p.y)

void

showpoint()

intgetx()

intgety()

~point()

};class

line

double

getlen()

};///::預作用符 表示line屬於line類

///內聯函式:class內必須宣告才能使用

line::

line

(point xp1,point xp2):p1

(xp1),p2

(xp2)

///p1(l.p1)呼叫point的拷貝建構函式

line::

line

(line &l):p1

(l.p1),p2

(l.p2)

void

showpointinfo

(point p)

///加line的拷貝建構函式l2(l1)

intmain()

/**以下結合this指標分析程式執行過程

執行結果:

普通建構函式生成0x6dfec8 ->根據引數構造pa

(3,4)0x6dfec8

普通建構函式生成0x6dfec0 ->根據引數構造pb

(10,9)0x6dfec0

拷貝建構函式生成0x6dfed0 ->根據pb生成xp2

(10,9)0x6dfed0

拷貝建構函式生成0x6dfed8 ->根據pa生成xp1

(3,4)0x6dfed8

拷貝建構函式生成0x6dfea8 ->根據xp1生成p1

(3,4)0x6dfea8

拷貝建構函式生成0x6dfeb0 ->根據xp2生成p2

(10,9)0x6dfeb0

line的建構函式0x6dfea8 ->構造出l1

析構函式呼叫0x6dfed8 ->l1構造完成,xp1析構

析構函式呼叫0x6dfed0 ->xp2析構

l2*********** ->以下為l2的拷貝構造

拷貝建構函式生成0x6dfe90 ->根據l1.p1構造l2的p1

(3,4)0x6dfe90

拷貝建構函式生成0x6dfe98 ->根據l1.p2構造l2的p2

(10,9)0x6dfe98

line的拷貝建構函式0x6dfe90 ->l2拷貝構造成功

line的析構函式0x6dfe90 ->l2析構

析構函式呼叫0x6dfe98 ->l2.p2析構

析構函式呼叫0x6dfe90 ->l2.p1析構

line的析構函式0x6dfea8 ->l1析構

析構函式呼叫0x6dfeb0 ->l1.p2析構

析構函式呼叫0x6dfea8 ->l1.p1析構

析構函式呼叫0x6dfec0 ->pa析構

析構函式呼叫0x6dfec8 ->pb析構

**/

關於 C 呼叫 Python 模組的理解

這篇部落格完美解決了我想在 c 中呼叫 python 模組的問題,感激不盡!但是博主寫的不夠詳細,本文在這裡對其進行詳細說明。在 c 中呼叫 python 模組實際上和在 python 中呼叫自定義的 python 模組沒喲什麼區別,因此,先看看在 python 中如何呼叫自定義模組吧!def ad...

內建模組的理解

跨域建立伺服器 爬蟲 cheerio 解析標記並提供遍歷 each 1.獲取網頁源 2,對源 進行分析 獲取資料 protocol 協議 auth 驗證 host 主機 query hsah path url.parse 格式轉換為物件 const url require url let urlst...

Rust模組的理解

特別注意,callerin這個mod必須在caller.rs中以pub mod callerin 形式宣告,否則外部看不到 最終模組路徑為 lip3 caller callerin call package name exp version 0.1.0 authors yujinliang 2857...