《算法導(dǎo)論》說用于表示數(shù)組或?qū)ο蟮淖兞勘豢醋魇侵赶虮硎净驅(qū)ο髷?shù)據(jù)的一個(gè)指針,對(duì)于某個(gè)對(duì)象x的所有域f,賦值y<--x,就是f[y]=f[x]。若f[x]<--3,則不僅是f[x]=3,同時(shí)f[y]=3,換言之在賦值y<--x后x,y指向同一個(gè)對(duì)象。
#include<iostream>
using namespace std;
int main(){
int a=3,b=0;
b=a;
a++;
cout<<a<<'\t'<<b<<endl;
return(0);
}//輸出的是4 3。他們并不是表示數(shù)組或?qū)ο蟮淖兞俊?br>
#include<iostream>
using namespace std;
class object{
public:
    int var;
    object(int value){var=value;}
};
int main(){
    object a(3),b(0);
    b=a;
    a.var=4;
    cout<<a.var<<'\t'<<b.var<<endl;
    return(0);
}//輸出4 3與說法矛盾

#include<iostream>
using namespace std;
int main(){
    int a[3],b[3];
    a[0]=1;
    a[1]=2;
    a[2]=3;
    b=a;//數(shù)組不能賦值
    for(int i=0;i<3;++i)
    cout<<a[i]<<'\t'<<b[i]<<endl;
    return(0);
}

那么請(qǐng)問這兩個(gè)例子應(yīng)該如何舉
回復(fù)人: 阿榮 (狀元)  2007-1-24 17:52:12
它說得那些只是在某些特定環(huán)境下的理論效果,并不能在所有語(yǔ)言中應(yīng)用.它這里所說的概念,基本上對(duì)應(yīng)C++的指針,和你理解的不一樣
回復(fù)人: 阿榮 (狀元)  2007-1-24 17:53:04
個(gè)人感覺,他對(duì)對(duì)象的定義對(duì)于C++而言是錯(cuò)誤的
回復(fù)人: 周星星 (榜眼)  2007-1-24 17:55:37
也許說引用更恰當(dāng)
 回復(fù)人: 阿榮 (狀元)  2007-1-24 17:59:24
實(shí)際上無(wú)論引用和指針都無(wú)法嚴(yán)格和他對(duì)應(yīng).我不清楚講算法的為什么來(lái)搞這種定義?完全無(wú)法和所有語(yǔ)言對(duì)應(yīng)
回復(fù)人: szhoftuncun (書童)  2007-1-24 18:23:49
Re:也許說引用更恰當(dāng)
舉個(gè)例子,我不太明白你們說什么?
回復(fù)人: szhoftuncun (書童)  2007-1-24 20:02:05
Re:變量名的問題
參數(shù)用值傳遞的方式傳給過程:過程接收參數(shù)的副本,若它對(duì)某個(gè)參數(shù)賦值,則這個(gè)過程對(duì)調(diào)用過程(1.這里是指調(diào)用過程的那個(gè)過程嗎?我想是的,也應(yīng)該是這樣的)是不可見的。當(dāng)傳遞一個(gè)對(duì)象時(shí),只時(shí)拷貝指向?qū)ο蟮闹羔槪?.不解決上面變量名的問題,那這里又有問題了),而不拷貝其各個(gè)域(3.這個(gè)域指的是什么?)。如:x<--y對(duì)調(diào)用過程時(shí)不可見的,但賦值f[x]<--3是可見的。
回復(fù)人: 阿榮 (狀元)  2007-1-24 23:35:03
這么晦澀而且也不怎么通用的書還是不要這么認(rèn)真的讀了
回復(fù)人: 阿榮 (狀元)  2007-1-24 23:36:28
這種晦澀的理論不適于學(xué)習(xí)語(yǔ)言,你不要指望能用什么例子來(lái)描述你說的話,它上面的話不完全適用于C++
回復(fù)人: 阿榮 (狀元)  2007-1-24 23:38:02
個(gè)人建議你立刻換書,
回復(fù)人: hpho (秀才)  2007-1-24 23:53:10
若用JAVA的話是說得通的.
C++是分對(duì)象實(shí)體和指向?qū)ο蟮闹羔?所以會(huì)有深淺拷貝.
回復(fù)人: 周星星 (榜眼)  2007-1-25 9:19:59
因?yàn)镴AVA中一切都是指針
回復(fù)人: Iforgot (秀才)  2007-1-25 9:21:22
不能說指針,最好說引用,或引用和指針的結(jié)合體。——java里關(guān)于垃圾收集機(jī)制里有一堆關(guān)于它的引用的概念。
回復(fù)人: 周星星 (榜眼)  2007-1-25 9:27:29
說引用也說不過去,反正就那個(gè)意思
回復(fù)人: szhoftuncun (書童)  2007-1-25 9:29:20
Re:這種晦澀的理論不適于學(xué)習(xí)語(yǔ)言,你不要指望能用什么例子來(lái)描述你說的話,它上面的話不完全適用于C++
呵呵,不是為了學(xué)語(yǔ)言,就是為了學(xué)算法,只不過想用語(yǔ)言來(lái)驗(yàn)證一下,多謝各位賜教。分就給星星吧
回復(fù)人: 阿榮 (狀元)  2007-1-25 10:04:47
你給了?
回復(fù)人: szhoftuncun (書童)  2007-1-25 10:13:05
Re:你給了?
這個(gè)給分系統(tǒng)不太會(huì)用,vchelp網(wǎng)的比較清楚,呵呵,不知道給誰(shuí)
參數(shù)用值傳遞的方式傳給過程:過程接收參數(shù)的副本,若它對(duì)某個(gè)參數(shù)賦值,則這個(gè)過程對(duì)調(diào)用過程(1.這里是指調(diào)用過程的那個(gè)過程嗎?我想是的,也應(yīng)該是這樣的)是不可見的。當(dāng)傳遞一個(gè)對(duì)象時(shí),只時(shí)拷貝指向?qū)ο蟮闹羔槪?.不解決上面變量名的問題,那這里又有問題了),而不拷貝其各個(gè)域(3.這個(gè)域指的是什么?)。如:x<--y對(duì)調(diào)用過程時(shí)不可見的,但賦值f[x]<--3是可見的。