星期六, 7月 29, 2006

賀josh

Josh Ko終於把他的The TaskIII 完成嘍,普天同慶

(話說我自己好像沒有幫到什麼,管他的,高興就好)

接下來就是期待再期待啦,哈哈

手傷雖然還包著,但是...應該....復工嘍~

星期五, 7月 28, 2006

STL

Standard Template Library可以說是一個結構嚴謹的東西,最近看書才發現,concept是最重要的一點,六大組件相互連接性的保證,舉個例子


find 搜尋
template <class InputIterator, class EqualityComparable>
InputIterator find(InputIterator first, InputIterator last,
const EqualityComparable& value);

只需要把InputIterator和EqualityComparable定義好即可,而我們自己所設計的,無論是iterator, algorithm, function obeject,只需要遵守concept,自然,我們可以利用template強大的彈性,寫出最適合我們的組件

---
STL果然很有趣 XD

車禍

看我打的出來,就知道,事實上沒有那麼嚴重

嗯,我恍神一下,時速六十就跑去撞娃娃車了,手掌跟膝蓋看到真皮

經過三次包紮,現在是好多了,不然我也不知道現在要怎麼打字,哈,只是打字的時候,會帶有疼痛,真的痛的話,我大概就不會打了,哈,而且,還是痛在我打字分配比較重的左手,唉.....

不過手痛了,就不能寫程式了,看點靜態書也好,這或許是好事一件吧,哈

星期三, 7月 26, 2006

有點累

這個字對我似乎不陌生, 只是以前總是有方法可以解決的,這一個月,除了休息,就是一直念程式,電腦伴我渡了無數個日夜,老實說,我捫心自問,我沒有多認真,為什麼還是會感覺到累呢...

在我努力趕上前人時,前人也用更快的速度遠離我,但我卻默默超越在原地踏步的人

暑假過了一半,感覺上自己什麼事都沒有做到,程式設計也只有進步一點點...唉,跟自己預想的差很多很多,不過,也還好,總是有所前進

現在只能告訴自己,累了休息之後,要用更快的速度前進

星期二, 7月 25, 2006

打字

word打字的時候,有一種東西叫做自動完成,話說我在打什麼,我在打STL中的algorithm每個function protype,打這個幹麻,老實說,我也不知道要幹,只是打出來做個整理,自己高興,哈哈,有時候,做無聊的事反而會有學習到

利用word的自動完成,我做了下列設定

(II) = InputIterator
(OI) = OutputIterator
(FI) = ForwardIterator
(BI) = BidrectionalIterator
(UI) = UnaryFunction
(BF) = BinaryFunction

etc...果然,打字神速,不過....打完要記得調回去就是

星期一, 7月 24, 2006

睡眠

現在的生活,照這樣子下去會出人命的話,我一點都不驚訝

早上八點起來,騎摩拖車去學開車,回來寫些東西十二點吃頓飯,下午可能發困,睡一下,六七點起來(我睡了幾個小時啊...Orz),然後,寫些東西或msn閒聊到半夜,平均三點到四點睡.....

這樣子的睡眠極不正常啊,我想以後還是正常點好了,不然暑假也在爆肝..Orz

星期日, 7月 23, 2006

買印表機

從國中以來,買印表機都不是一件輕鬆的事,還記得我第一次自己買印表機是Epson Stylus C40,我整個人從陽明國中飆到彰化火車站回去,買完再一路飆回來,怎麼飆? 一手提著印表機,一手騎腳踏車,不飆不行,腳踏車還是用借的,要在一定時間之內還人,後來Epson果然常見的問題就現身了,噴嘴會卡住...Orz 所以我在我高中的時候...又是用飆的,跑去買HP deskjet 3420,算是一台不錯的噴墨,但是...因為很大台,所以我還是得一手用拿的,一手用騎腳踏車,我記得我買的是聖誕特別版(別問為什麼我印表機會有這種特別版XD),裡面還有送相紙,很不幸的,還是得一手拿一手騎

似乎我買印表機都是不怎麼順利的XD

今天呢,得知員林順發有賣Samsung ML-1610雷射印表機,當下決定衝去買一台...價錢多少,呃,一定比josh的網拍高,哈,不過我在順發有累積一些折扣,所以買起來還算很便宜,買完才發現一件事,機車放不下啊,左試右試,決定把殼拆掉...雙腳剛好可以夾住這台印表機....配件放在車箱裡面,從員林夾著這台印表機一路騎回鹿港,大概40km左右

我朋友還對我說,希望你回去腳沒有事

當然沒事啦,我的腳有那麼弱嗎...吼

for_each??

在泛型程式設計與STL (Generic Programming and STL)中,我讀到for_each 屬於 Nonmutating Algorithm,怪了...我以前不懂for_each時,都直接屬使用來改變在此range的值的,難道我想錯了...

來看看for_each的prototype(p.218)

template<class InputIterator, class UnaryFunction>
UnaryFunction for_each(InputIterator first, InputIterator last,
UnaryFunction f);

如果今天所使用的是vector<int>的話,那麼...UnaryFuncion的return type(Result Type)暫且不論,UnaryFuncion的Argument Type也必定是int才行,那麼我在gcc 上面使用int&,卻過了,這是不是傷害到原本的規格制定?

所以,我用了一個很簡單的程式碼來測試一下


#include <iostream>
#include <iterator>
#include <vector>
#include <algorithm>
using namespace std;

template<class T>
class pow2{
public:
void operator()(T &p){ p=p*p; }
};

int main(){
vector<int> u;
for(unsigned int i=0;i<5;i++) u.push_back(i+1);

for_each(u.begin(),u.end(),pow2<int>());
copy(u.begin(),u.end(),ostream_iterator<int>(cout," "));

cout << endl;
system("pause");
}




還是說,我想錯了...當然,照書上所寫的...Argument Type是會正確,還是我自己用錯了...Orz 暫時不知道,繼續看書去