cs 程式設計術語鑑別

2022-07-31 11:45:12 字數 1561 閱讀 9516

函式(function)和方法(method)在程式設計中的概念就很相近,經常被互換著稱呼,

但它們的區別主要是在定義的位置上。

function是一段通過名字呼叫的**,它可以接受資料進行操作,並可能會有返回值。

method是一段通過關聯在物件上的名字呼叫的**。

從這段解釋上看函式和方法基本一致,只是方法是屬於物件的一部分,

所以在物件導向語言中才有概念。如果是c語句,就只有函式的說法。

方法是附屬於物件的,相對於函式可以接受傳入引數,

物件本身也會作為隱性引數可以在方法中被呼叫。

在返回值方面,方法不僅可以選擇返回資料,還可以將資料賦予其所屬的物件。

parameter和argument都被翻譯成「引數」,它們也經常被混淆。

其實很好更精準的翻譯應該是「形參(formal parameter)」和「實參(actual argument)」。

parameters是定義函式時定義的那些變數,它們是函式型別識別(type signature)的一部分;

arguments是呼叫函式時傳入到函式中的那些變數,它們是函式的輸入值。

這稱為也是相對的,比如說下邊的例子:

void foo(int x, int y)
x和y對於foo函式來說是形參(parameter),而對於bar來說是實參(argument)。

因此也可以說argument是parameter的例項。

申明(declaration)和定義(definition)這兩個概念應該緣起於c/c++,

因為寫c/c++程式會分頭檔案(header files)和實現檔案(implementation files)。

方法和變數的申明部分一般放在標頭檔案,定義部分則在實現檔案裡。

所以很容易理解

declaration是描述變數、方法、類的型別標識,它沒有具體的實現;

編譯器看到申明部分不會分配記憶體,而是從其它地方找到其實現的定義。

definition是真正例項化變數,實現方法和類。

編譯器看到定義部分時就知道如何分配記憶體,在執行時分配相應大小記憶體去存放內容。

比如下邊這些**都屬於申明:

extern int bar;

extern int g(int, int);

double f(int, double); // extern can be omitted for function declarations

class foo; // no extern allowed for type declarations

而下邊的**是對上述「申明」的具體「定義」:

int bar;

int g(int lhs, int rhs)

double f(int i, double d)

class foo {};

不嚴格的說「定義」也包含了「申明」的部分,應該單看定義中變數,方法和類的名字部分,

那些可以算是「申明」。

CS專業術語

資料是列表時 import csv 導入庫 with open data.csv w as fp writer csv.writer fp,delimiter delimiter只能是乙個位元組的字元 writer.writerow id name age 寫入 writer.writerow 10...

網路程式設計總結(C S)

一 tcp程式設計流程 伺服器端程式設計流程 第一步 建立socket int socket int domain.int type,int protocol 成功時返回乙個socket 失敗時返回 1並設定error domain 告訴系統使用哪個底層協議族 pf inet ipv4 pf ine...

linux udp網路程式設計 c s

1 server deepfuture deepfuture laptop private mytest testupds server wait.server read deepfuture.iteye.com server send hello server wait.cdeepfuture d...