/*
* GridTest.h
*
* Created on: 2009-2-27
* Author: Administrator
*/
#ifndef GRIDTEST_H_
#define GRIDTEST_H_
class GridTest {
static const int x=3,y=4;
public:
GridTest();
virtual ~GridTest();
typedef int (GridTest:: *memberFuncType)(int x, int y);
void display();
int foreach(memberFuncType fn, int i, int j);
int test1(int x, int y);
int test2(int x, int y);
int test3(int x, int y);
int test4(int x, int y);
};
#endif /* GRIDTEST_H_ */
/*
* GridTest.cpp
*
* Created on: 2009-2-27
* Author: Administrator
*/
#include "GridTest.h"
#include <iostream>
using namespace std;
GridTest::GridTest() {
// TODO Auto-generated constructor stub
}
GridTest::~GridTest() {
// TODO Auto-generated destructor stub
}
int GridTest::foreach(memberFuncType fn, int x, int y){
cout<<"GridTest::foreach(memberFuncType fn, int x, int y)執(zhí)行了"<<endl;
cout<<"fn(x,y)"<<(this->*fn)(x, y);
return (this->*fn)(x, y);
}
int GridTest::test1(int x, int y){
cout<<"GridTest::test1(int x, int y)執(zhí)行了!"<<endl;
return 0;
}
int GridTest::test2(int x, int y){
cout<<"GridTest::test2(int x, int y)執(zhí)行了!"<<endl;
return 0;
}
int GridTest::test3(int x, int y){
cout<<"GridTest::test3(int x, int y)執(zhí)行了!"<<endl;
return 0;
}
int GridTest::test4(int x, int y){
cout<<"GridTest::test4(int x, int y)執(zhí)行了!"<<endl;
return 0;
}
void GridTest::display(){
cout << this->foreach( this->test1, 4, 5);
//一直報(bào)錯(cuò):no matching function for call to `GridTest::foreach(<unknown type>, int, int)'
}
int main()
{
GridTest *grid;
grid= new GridTest();
grid->display();
return 0;
}
這段代碼在VC6.0上就沒有問題,在Eclipse上編譯就報(bào)錯(cuò)
no matching function for call to `GridTest::foreach(<unknown type>, int, int)'
}
#include?
"
stdio.h
"
#include?
"
stdlib.h
"
typedef?
struct
{
?
int
?number;
?
int
?dicper;
}
ElemType;
typedef?
struct
?node

{
?ElemType?data;
?
struct
?node?
*
next;
}
Node,
*
LinkList;
void
?Initiatte(LinkList?
&
L)

{
?
if
((L
=
(LinkList)malloc(
sizeof
(Node)))
==
NULL)exit(
1
);
?L
->
next
=
L;
}
int
?Insert(LinkList?
&
L,
int
?i,ElemType?x)

{
?LinkList?q,p;
?p
=
L
->
next;
?
int
?j
=
1
;
?
while
(p
!=
L?
&&
?j
<
i
-
1
)

?
{
??p
=
p
->
next;
??j
++
;
?}
?
if
(j
!=
i
-
1
?
&&
?i
!=
1
)

?
{
??printf(
"
插入位置參數(shù)錯(cuò)!
"
);
??
return
?
0
;
?}
?q
=
(LinkList)malloc(
sizeof
(Node));
?
if
(
!
q)exit(
1
);
?q
->
data
=
x;
?q
->
next
=
p
->
next;
?p
->
next
=
q;
?
return
?
1
;
}
int
?IsNotEmpty(LinkList?L)

{
?
if
(L
->
next
==
L)
return
?
0
;
?
else
?
return
?
1
;
}
int
?Delete(LinkList?
&
p)

{
?LinkList?q;
?q
=
p
->
next;
?p
->
next
=
p
->
next
->
next;
?free(q);
?
return
?
1
;
}
void
?output(LinkList?
&
L,
int
?m)

{
?LinkList?pre,q;
?pre
=
L;
q
=
L
->
next;
?
while
(IsNotEmpty(L)
==
1
)

?
{
??
for
(
int
?i
=
1
;i
<
m;i
++
)

??
{
???pre;
???q
=
q
->
next;
???
if
(q
==
L)

???
{
????pre
=
q;
???q
=
q
->
next;
???}
??}
printf(
"
%d**
"
,q
->
data.number);
?m
=
q
->
data.dicper;
?q
=
q
->
next;
?
if
(q
==
L)q
=
q
->
next;
?Delete(pre);
?}
}
int
?main()

{
?
int
?n;
?printf(
"
請(qǐng)輸入人數(shù)的值:\n
"
);
?scanf(
"
%d
"
,
&
n);
?ElemType?
*
P;
?LinkList?L;
?Initiatte(L);
?
int
?i,m;
P?
=
?
new
?ElemType?[n];
?
for
(?i
=
0
;i
<
n;i
++
)

?
{
?P[i].number
=
i
+
1
;
??printf(
"
第%d個(gè)人輸入密碼
"
,i
+
1
);
??printf(
"
\n
"
);
??scanf(
"
%d
"
,
&
P[i].dicper);
?}
??
for
(i
=
1
;i
<=
n;i
++
)
??Insert(L,i,P[i
-
1
]);
?printf(
"
對(duì)m的數(shù)值進(jìn)行初始化:
"
);
?scanf(
"
%d
"
,
&
m);
?printf(
"
結(jié)果輸出:
"
);
?output(L,m);
?delete?[]?P;
?printf(
"
\n
"
);
?
return
?
0
;
}
12
?this指針只能在一個(gè)類的成員函數(shù)中調(diào)用,它表示當(dāng)前對(duì)象的地址。下面是一個(gè)例子:
????void Date::setMonth( int mn )
????{
???? month = mn; // 這三句是等價(jià)的
???? this->month = mn;
???? (*this).month = mn;
????}
1. this只能在成員函數(shù)中使用。
全局函數(shù),靜態(tài)函數(shù)都不能使用this。
實(shí)際上,成員函數(shù)默認(rèn)第一個(gè)參數(shù)為T* const register this。
如:
class A{public: int func(int p){}};
其中,func的原型在編譯器看來應(yīng)該是: int func(A* const register this, int p);
2. 由此可見,this在成員函數(shù)的開始前構(gòu)造的,在成員的結(jié)束后清除。
這個(gè)生命周期同任一個(gè)函數(shù)的參數(shù)是一樣的,沒有任何區(qū)別。
當(dāng)調(diào)用一個(gè)類的成員函數(shù)時(shí),編譯器將類的指針作為函數(shù)的this參數(shù)傳遞進(jìn)去。如:
A a;
a.func(10);
此處,編譯器將會(huì)編譯成: A::func(&a, 10);
嗯,看起來和靜態(tài)函數(shù)沒差別,對(duì)嗎?不過,區(qū)別還是有的。編譯器通常會(huì)對(duì)this指針做一些優(yōu)化的,因此,this指針的傳遞效率比較高--如vc通常是通過ecx寄存器來傳遞this參數(shù)。
3. 回答
#1:this指針是什么時(shí)候創(chuàng)建的?
this在成員函數(shù)的開始執(zhí)行前構(gòu)造的,在成員的執(zhí)行結(jié)束后清除。
#2:this指針存放在何處? 堆,棧,全局變量,還是其他?
this指針會(huì)因編譯器不同,而放置的位置不同。可能是棧,也可能是寄存器,甚至全局變量。
#3:this指針如何傳遞給類中函數(shù)的?綁定?還是在函數(shù)參數(shù)的首參數(shù)就是this指針.那么this指針又是如何找到類實(shí)例后函數(shù)的?
this是通過函數(shù)參數(shù)的首參數(shù)來傳遞的。this指針是在調(diào)用之前生成的。類實(shí)例后的函數(shù),沒有這個(gè)說法。類在實(shí)例化時(shí),只分配類中的變量空間,并沒有為函數(shù)分配空間。自從類的函數(shù)定義完成后,它就在那兒,不會(huì)跑的。
#4:this指針如何訪問類中變量的/?
如果不是類,而是結(jié)構(gòu)的話,那么,如何通過結(jié)構(gòu)指針來訪問結(jié)構(gòu)中的變量呢?如果你明白這一點(diǎn)的話,那就很好理解這個(gè)問題了。
在C++中,類和結(jié)構(gòu)是只有一個(gè)區(qū)別的:類的成員默認(rèn)是private,而結(jié)構(gòu)是public。
this是類的指針,如果換成結(jié)構(gòu),那this就是結(jié)構(gòu)的指針了。
#5:我們只有獲得一個(gè)對(duì)象后,才能通過對(duì)象使用this指針,如果我們知道一個(gè)對(duì)象this指針的位置可以直接使用嗎?
this指針只有在成員函數(shù)中才有定義。因此,你獲得一個(gè)對(duì)象后,也不能通過對(duì)象使用this指針。所以,我們也無法知道一個(gè)對(duì)象的this指針的位置(只有在成員函數(shù)里才有this指針的位置)。當(dāng)然,在成員函數(shù)里,你是可以知道this指針的位置的(可以&this獲得),也可以直接使用的。
#6:每個(gè)類編譯后,是否創(chuàng)建一個(gè)類中函數(shù)表保存函數(shù)指針,以便用來調(diào)用函數(shù)?
普通的類函數(shù)(不論是成員函數(shù),還是靜態(tài)函數(shù)),都不會(huì)創(chuàng)建一個(gè)函數(shù)表來保存函數(shù)指針的。只有虛函數(shù)才會(huì)被放到函數(shù)表中。
但是,既使是虛函數(shù),如果編譯器能明確知道調(diào)用的是哪個(gè)函數(shù),編譯器就不會(huì)通過函數(shù)表中的指針來間接調(diào)用,而是會(huì)直接調(diào)用該函數(shù)。
# 7:這些編譯器如何做到的?8:能否模擬實(shí)現(xiàn)?
知道原理后,這兩個(gè)問題就很容易理解了。
其實(shí),模擬實(shí)現(xiàn)this的調(diào)用,在很多場(chǎng)合下,很多人都做過。
例如,系統(tǒng)回調(diào)函數(shù)。系統(tǒng)回調(diào)函數(shù)有很多,如定時(shí),線程啊什么的。
舉一個(gè)線程的例子:
class A{
int n;
public:
static void run(void* pThis){
A* this_ = (A*)pThis;
this_->process();
}
void process(){}
};
main(){
A a;
_beginthread( A::run, 0, &a );
}
這里就是定義一個(gè)靜態(tài)函數(shù)來模擬成員函數(shù)。
也有許多C語言寫的程序,模擬了類的實(shí)現(xiàn)。如freetype庫(kù)等等。
其實(shí),有用過C語言的人,大多都模擬過。只是當(dāng)時(shí)沒有明確的概念罷了。
如:
typedef struct student{
int age;
int no;
int scores;
}Student;
void initStudent(Student* pstudent);
void addScore(Student* pstudent, int score);
...
如果你把 pstudent改成this,那就一樣了。
它相當(dāng)于:
class Student{
public:
int age; int no; int scores;
void initStudent();
void addScore(int score);
}
const常量可以有物理存放的空間,因此是可以取地址的
///this指針是在創(chuàng)建對(duì)象前創(chuàng)建.
this指針放在棧上,在編譯時(shí)刻已經(jīng)確定.
并且當(dāng)一個(gè)對(duì)象創(chuàng)建后,并且運(yùn)行整個(gè)程序運(yùn)行期間只有一個(gè)this指針.
摘要: /**/
///////////////////////////////////////
/
//?????????????????????????????????????////????????????????????????????????????////數(shù)值分析??直接三角分...
閱讀全文
做題的意義
???????????????????????????????????????????????????????????????????????????????????????????????????????? ?By EmilMatthew 06/04/16
????????????????????? ?
我可以有相當(dāng)?shù)睦碛?,認(rèn)為自己是一個(gè)喜愛學(xué)習(xí)的人,但是,我亦不得不承認(rèn),我的這份對(duì)學(xué)習(xí)的熱愛是有所偏失的,自然也就無法享受到學(xué)習(xí)的全然樂趣。尤其在做到一些稍難的問題的時(shí)候,長(zhǎng)長(zhǎng)是久攻不下,于是心生疑問,我這等熱情的投入學(xué)習(xí),怎為何還無法去攻克難題,體會(huì)一些學(xué)科精妙之處。
??
?????????????
???????
?
實(shí)際,這是一個(gè)謬誤,攻克難題,除了有
PASSION
,有知識(shí)上的積累,更為關(guān)鍵的,需要的是一種思維能力。而這種思維能力,對(duì)于理工科的學(xué)習(xí)而言,做題是個(gè)必不可少的環(huán)節(jié)。有
PASSION
,喜歡看書是我的現(xiàn)狀,這是好事情,但這絕不是說,有了這些就一定會(huì)有好的思維能力,雖然好的
PASSION
可以去激發(fā)一定的思維力,但好的思維力卻是必須要有訓(xùn)練的這一環(huán)節(jié)的,否則,就會(huì)像一層窗戶紙,一捅就破,經(jīng)不起有難度,有深度問題的考驗(yàn)。
???
????????????????????????????????????????????????????????
?????
????????
?
???
自從進(jìn)了大學(xué)后,實(shí)際上我對(duì)考試的熱情是逐漸下降的,對(duì)什么為考試而準(zhǔn)備,忙的不可開焦之類的事甚為不齒。的確,到了大學(xué)還為考試而學(xué)習(xí)卻實(shí)沒什么意思,但是由厭惡考試而順帶著產(chǎn)生厭惡做題的情緒就是個(gè)很不好的結(jié)果了。其實(shí)我的學(xué)習(xí)熱情一直是高漲的,尤其是大一感受了程序設(shè)計(jì)的美妙之后,更是曾經(jīng)一度為之廢寢忘食,再加上我對(duì)物理及數(shù)學(xué)那點(diǎn)或發(fā)自內(nèi)心的或出于敬仰的喜愛,我對(duì)去解決一些有實(shí)際背景的問題還是充滿熱情的,每當(dāng)能發(fā)現(xiàn)自己要能發(fā)現(xiàn)些或創(chuàng)造什么小成果的時(shí)候,更是令人心潮澎湃。但是,我對(duì)解題,也就是做傳統(tǒng)的書面上的試題卻一直提不起精神,盡管多數(shù)的題目自己是解得下來的,但是每當(dāng)面對(duì)難題時(shí),我仍舊是力不從心的。而且,我也發(fā)現(xiàn),在自己看書的時(shí)候,很多最關(guān)鍵的證明,推導(dǎo)都相當(dāng)?shù)某粤?。比如自?dòng)機(jī)的一些理論,較難的證明看幾眼就開始暈了;再如算法分析理論方面的證明,很多時(shí)候也都是望而卻步。究其原因,我想,最關(guān)鍵的一點(diǎn),就是這其中的一個(gè)整體思路令人無法把握。而這思路,恰恰是思維過程的一個(gè)體現(xiàn),光有知識(shí)的積累是遠(yuǎn)遠(yuǎn)不夠的,解題是思維能力訓(xùn)練的一個(gè)至關(guān)重的環(huán)節(jié)。高中是也許由于過度的應(yīng)試對(duì)解題心生厭倦了,但是到了大學(xué)里,如果你想學(xué)得深入的話對(duì)解題仍舊不能有絲毫的松懈。
???
????????????????????????????????????????????????????? ??
??
???
?
???
?
???
讀書,更多的時(shí)候是側(cè)重吸收與理解,對(duì)于理工科類的書籍而言,讀書是否讀的透還與一個(gè)人的思維能力有著相當(dāng)?shù)年P(guān)聯(lián)。在僅知道向量及線性代數(shù)的基礎(chǔ)上看張量的概念,有的人看的不知所云,有的人一知半解
(
我就屬于這種
)
,有的人一看就懂了;再如一些力學(xué)中的分析及演算,對(duì)于學(xué)的不扎實(shí)的人來說,可能把各個(gè)小步驟分解了看都懂是怎么回事,可以綜合到一起,就很難看出個(gè)所以然了。究其原因,在讀書能力基本一致的前提下,關(guān)鍵就是看你在看到這樣的一個(gè)概念闡述的時(shí)候,你在思維上能對(duì)它做出怎樣的反應(yīng)。而這種思維上反應(yīng)的高下,和讀書一樣,也是要有一個(gè)積累的過程的,而這種過程的積累,在我看來,很大一部分就是通過做題來提高的。
???
思維的過程有歸納,推理,演繹,發(fā)散等許多方式,我們對(duì)某個(gè)問題的解決有意識(shí)和無意識(shí)中都用到了這些思維過程。無論是實(shí)際的工程問題,抑或是抽象出來的問題,如習(xí)題,思維能力起著至關(guān)重要的作用。當(dāng)然,知識(shí)的積累在解決問題的過程中亦是舉足輕重的。用唯物論的觀點(diǎn)來看,二者的關(guān)系是相輔相承的。工程的,實(shí)際的問題相對(duì)要復(fù)雜和冗繁,但未必都很艱深,而習(xí)題中的抽象問題規(guī)模相對(duì)小,對(duì)問題的剖析能達(dá)到相當(dāng)?shù)纳疃?。所以,任何一個(gè)有理性思考的人都可以看到,在學(xué)校把解決問題的基礎(chǔ)打好了,無論是以后做研究還是去投入到生產(chǎn)實(shí)踐中去,不說游刃有余,最起碼,在經(jīng)過一定的適應(yīng)后,是完全可以掌控的。而通過習(xí)題在思維層上的訓(xùn)練,更是可以使你在理工科
----
這樣一個(gè)富于理性化分析,精巧構(gòu)建,高度技巧化的領(lǐng)域中達(dá)到融會(huì)貫通,觸類旁通的作用。所以,以前我放棄或輕視做題的行為是何等的可笑!
????????????????????? ???
???
之所以對(duì)解題提不起太多興趣,其中很大的一部分原因是由于多數(shù)情況下我們的解題處于一種被動(dòng)的局面。也就是說,被老師“追著趕”,在這樣一種情緒下解題,一者難有好的心情,二者目的以完成任務(wù)為主,雖然能學(xué)到一些東西,但終究有些情非得已的意味。想有效而又快樂的解題,個(gè)人認(rèn)為最好的法子就是主動(dòng)出擊,自己去找題來做,不必多找,找一兩本較好出版社或在某一方面特別有實(shí)力的學(xué)校出的書是肯定不會(huì)錯(cuò)的。然后,就是自己的解題,回顧與體會(huì)了。至于解題的多少只能是因人而異了,這和你個(gè)人的實(shí)際情況有很大關(guān)聯(lián),但有一點(diǎn),就是解題一定要投入,一定要重視自己做的這些題的從哪個(gè)角度去考查思維力以及對(duì)知識(shí)的運(yùn)用、掌握,否則,妄想以多做題來達(dá)到思維飛躍的想法是徒勞的。個(gè)人認(rèn)為,這學(xué)習(xí)的主動(dòng)性一旦被調(diào)動(dòng)起來之后,你馬上會(huì)感受到解題也竟然和看書一樣,有著許多收獲的喜悅與驚奇。而從解題中可以直接得到的最為重要的好處在于:一來你對(duì)某門課程本身的體系和知識(shí)結(jié)構(gòu)加深了理解和掌握;二來你的思維能力體系又得到了再一次的加強(qiáng),遇到新問題的時(shí)候(哪怕和原來的領(lǐng)域不相關(guān)),你的活躍的思路也必定會(huì)給你帶來解決問題的更多、更好的啟示。
?
???
所以,作為一個(gè)理工科學(xué)生的你,無論是以后想做科研,還是想盡快投入生產(chǎn)實(shí)踐,思維能力是極其重要的,而做題,則是其中的一條必由之路。當(dāng)你真正投入時(shí),你會(huì)發(fā)現(xiàn),做題原來也可以這般的享受。
???????????????????????????? 
1.某公司采用公用電話傳遞10組數(shù)據(jù),每組數(shù)據(jù)必須由四位整數(shù)組成,數(shù)據(jù)在傳遞過程中是加密的,加密規(guī)則如下:每組數(shù)據(jù)中的每位數(shù)字都加上5,然后用和除以10的余數(shù)代替該數(shù)字,再將第一位和第四位交換,第二位和第三位交換。編程輸出加密前后的數(shù)據(jù)。
2005圖靈獎(jiǎng)獲得者產(chǎn)生
|
|
????? 3月1日,ACM(美國(guó)計(jì)算機(jī)學(xué)會(huì))決定將2005年圖靈獎(jiǎng)?lì)C發(fā)給Peter Naur,以表彰他在設(shè)計(jì)Algol 60語言上的貢獻(xiàn)。由于其定義的清晰性,Algol 60成為了許多現(xiàn)代程序設(shè)計(jì)語言的原型。在語法描述中廣泛使用的BNF范式,其中的“N”便是來自Peter Naur的名字。圖靈獎(jiǎng)被稱為“計(jì)算科學(xué)界的諾貝爾獎(jiǎng)”,它創(chuàng)立于1960年,現(xiàn)在的獎(jiǎng)金10萬美元,由Intel公司贊助。??
??????詳文如下:
??????
SOFTWARE PIONEER PETER NAUR WINS ACM'S TURING AWARD
 Dane's Creative Genius Revolutionized Computer Language Design
|  New York, March 01, 2006??--??The Association for Computing Machinery (ACM) has named Peter Naur the winner of the 2005 A.M. Turing Award. The award is for Naur's pioneering work on defining the Algol 60 programming language. Algol 60 is the model for many later programming languages, including those that are indispensable software engineering tools today. The Turing Award, considered the "Nobel Prize of Computing" was first awarded in 1966, and is named for British mathematician Alan M. Turing. It carries a $100,000 prize, with financial support provided by Intel Corporation.
 Dr. Naur was editor in 1960 of the hugely influential "Report on the Algorithmic Language Algol 60." He is recognized for the report's elegance, uniformity and coherence, and credited as an important contributor to the language's power and simplicity. The report made pioneering use of what later became known as Backus-Naur Form (BNF) to define the syntax of programs. BNF is now the standard way to define a computer language. Naur is also cited for his contribution to compiler design and to the art and practice of computer programming.
 "Dr. Naur's ALGOL 60 embodied the notion of elegant simplicity for algorithmic expression," said Justin Rattner, Intel senior fellow and Chief Technology Officer. "Over the years, programming languages have become bloated with features and functions that have made them more difficult to learn and less effective. This award should encourage future language designers who are addressing today's biggest programming challenges, such as general-purpose, multi-threaded computation, to achieve that same level of elegance and simplicity that was the hallmark of ALGOL 60."
 Contributions Signal Birth of Computing Science
 In 2002, former Turing Award winner Edsger Dijkstra characterized the development of Algol 60 as "an absolute miracle" that signaled the birth of what he called "computing science" because it showed the first ways in which automatic computing could and should become a topic of academic concern. The development of Algol 60 was the result of an exceptionally talented group of people, including several who were later named Turing Award winners.
 Dr. Naur's contribution to Algol 60, was seminal. John Backus, another former Turing Award winner, acknowledged Naur as the driving intellectual force behind the definition of Algol 60. He commented that Naur's editing of the Algol report and his comprehensive preparation for the January 1960 meeting in which Algol was presented "was the stuff that really made Algol 60 the language that it is, and it wouldn't have even come about, had he not done that."
 Before publication of the Algol 60 Report, computer languages were informally defined by their prose manuals and the compiler code itself. The report, with its use of BNF to define the syntax, and carefully chosen prose to define the semantics, was concise, powerful, and unambiguous.
 The 17-page Algol 60 Report presented the complete definition of an elegant, transparent language designed for communication among humans as well as with computers. It was deliberately independent of the properties of any particular computer. The new language was a major challenge to compiler writers. Dr. Naur went on to co-author the GIER Algol Compiler (for the transistorized electronic computer developed in Denmark known as GIER), one of the first compilers to deal fully and correctly with the language's powerful procedure mechanism.
 "Dr. Naur's contribution was a watershed in the computing field, and transformed the way we define programming languages," said James Gray of Microsoft Research, and Chair of the 2005 Turing Committee. "Many of the programming constructs we take for granted today were introduced in the Algol Report, which introduced a concise block-structured language that improved the way we express algorithms."
 Dr. Naur was instrumental in establishing software engineering as a discipline. He made pioneering contributions to methodologies for writing correct programs through his work on assertions that enable programmers to state their assumptions, and on structured programming. "His work, though formal and precise, displays an exceptional understanding of the limits and uses of formalism and precision," said Gray. Through these activities, and his development of an influential computer science curriculum, Dr. Naur contributed fundamental components of today's computing knowledge and skills.
 Early Experience in Practical Calculations and Applications
 Dr. Naur began his scientific pursuits as an astronomer, where he was involved in computations of the orbits of comets and minor planets. He obtained a magister of science degree (the equivalent of a master's degree) from Copenhagen University in 1949. He later returned there to earn a doctorate in astronomy in 1957. During the 1950-51 academic year, Dr. Naur studied astronomy at King's College in Cambridge, U.K., and came to the U.S. to further his work in the field. This work involved using early computers (starting with EDSAC, the world's first practical stored program electronic computer) for his astronomical calculations. In 1953, he returned to Denmark and served as a scientific assistant at Copenhagen Observatory.
 In 1959, he joined the staff of the compiler design group at Regnecentralen, the first Danish computer company. There he organized the Algol Bulletin and was editor of the 13-person international Algol 60 team's report that defined Algol 60. He became a professor at the Copenhagen University Institute of Datalogy in 1969, retiring in 1998.
 Dr. Naur was awarded the G. A. Hagemann Gold Medal from the Danish Technical University in 1963, the Jens Rosenkjaer Prize from the Danish Radio in 1966, and the Computer Pioneer Award from the Institute of Electrical and Electronics Engineers in 1986. ACM will present the Turing Award at the annual ACM Awards Banquet on May 20, 2006, at the Westin St. Francis Hotel in San Francisco, CA.
| 
| About the A.M. Turing Award
 The A.M. Turing Award was named for Alan M. Turing, the British mathematician who articulated the mathematical foundation and limits of computing, and who was a key contributor to the Allied cryptanalysis of the German Enigma cipher during World War II. Since its inception, the Turing Award has honored the computer scientists and engineers who created the systems and underlying theoretical foundations that have propelled the information technology industry. For additional information, please see the A. M. Turing Awards site.
About ACM
 ACM, the Association for Computing Machinery (http://www.acm.org), is an educational and scientific society uniting the world's computing educators, researchers and professionals to inspire dialogue, share resources and address the field's challenges. ACM strengthens the profession's collective voice through strong leadership, promotion of the highest standards, and recognition of technical excellence. ACM supports the professional growth of its members by providing opportunities for life-long learning, career development, and professional networking.
|
|
摘要: [求助]?關(guān)于拷貝構(gòu)造函數(shù),對(duì)象傳遞!!#include?
<
iostream.h
>
class
?Matrix
{
private
:????
int
?...
閱讀全文