Symbian的第五版在10/3 released
這版中主要加強的部份是多媒體、網路、可靠度和觸控介面
第五版中優化攝影機的codec(宽螢幕影相儲存能力)。使用者設定參數來調控照片的balance, color and sharpness。次外,第五版包含照片和影片的編攝功能,讓使用者直接在mobile上修改並分享。
隨著寬螢幕 nHD的支援,現在可以使用寬螢幕模式來看照片或影片,支援的影片格式包括MP3, AAC, H.264, Windows Media, Flash Video等。
內建瀏覽器和支援Flash Lite,加上寬螢幕和觸控介面的支援可以令瀏覽網頁更方便。
10/17/2008
10/04/2008
10/01/2008
default constructor
C++中預設建構子就是沒有參數的建構子
一般大多數人都有以下錯誤觀念:
1.class沒有定義預設建構子 compiler就會自動產生一個
2.compiler產生出來的預設建構子中 會為member data設預設值
在C++ standard(ISO/IEC 14882)中說明:
"The implementation will implicitly declare these member functions for a class type when the program does not explicitly declare them, except as noted in 12.1. The implementation will implicitly define them if they are used"
當compiler有需要而又沒有時才會產生出來 所以沒需要時就不會產生
那甚麼時候需要呢! 文件中說明:
"If there is no user-declared constructor for class X, a default constructor is implicitly declared. An implicitly-declared default constructor is an inline public member of its class. A constructor is trivial if it is an implicitly-declared default constructor and if: — its class has no virtual functions (10.3) and no virtual base classes (10.1), and — all the direct base classes of its class have trivial constructors, and — for all the nonstatic data members of its class that are of class type (or array thereof), each such class has a trivial constructor. Otherwise, the constructor is non-trivial."
所以說需要的定義取決於 1.virtual functions, 2.virtual inherited, 3.base class and 4.data members.
1.virtual functions
當一個類別定義virtual functions後,每一個物件都必須有一個virtual function table記錄virtual function的位址,因此compiler會自動擴張物件的data member,產生這個table並且加入一個指標指向這個table。
2.virtual inherited
(待補)
3.base class
當一個class沒有任何預設建構子而它的base class有預設建構子時,那麼必須需呼叫base class的預設建構子,所以compiler自動擴張一個預設建構子,其中呼叫bass class的建構子。
如果存在建構子的話,compiler會擴張建構子做上述事情而不擴張一個預設建構子。文件的解析是由於使用者定義的建構子存在下就不會隱含產生預設建構子。
4.data members
同理。當data member中,存在至少一個物件有預設建構子時。
一般大多數人都有以下錯誤觀念:
1.class沒有定義預設建構子 compiler就會自動產生一個
2.compiler產生出來的預設建構子中 會為member data設預設值
在C++ standard(ISO/IEC 14882)中說明:
"The implementation will implicitly declare these member functions for a class type when the program does not explicitly declare them, except as noted in 12.1. The implementation will implicitly define them if they are used"
當compiler有需要而又沒有時才會產生出來 所以沒需要時就不會產生
那甚麼時候需要呢! 文件中說明:
"If there is no user-declared constructor for class X, a default constructor is implicitly declared. An implicitly-declared default constructor is an inline public member of its class. A constructor is trivial if it is an implicitly-declared default constructor and if: — its class has no virtual functions (10.3) and no virtual base classes (10.1), and — all the direct base classes of its class have trivial constructors, and — for all the nonstatic data members of its class that are of class type (or array thereof), each such class has a trivial constructor. Otherwise, the constructor is non-trivial."
所以說需要的定義取決於 1.virtual functions, 2.virtual inherited, 3.base class and 4.data members.
1.virtual functions
當一個類別定義virtual functions後,每一個物件都必須有一個virtual function table記錄virtual function的位址,因此compiler會自動擴張物件的data member,產生這個table並且加入一個指標指向這個table。
2.virtual inherited
(待補)
3.base class
當一個class沒有任何預設建構子而它的base class有預設建構子時,那麼必須需呼叫base class的預設建構子,所以compiler自動擴張一個預設建構子,其中呼叫bass class的建構子。
如果存在建構子的話,compiler會擴張建構子做上述事情而不擴張一個預設建構子。文件的解析是由於使用者定義的建構子存在下就不會隱含產生預設建構子。
4.data members
同理。當data member中,存在至少一個物件有預設建構子時。
9/26/2008
創業成功的必要條件
規則#1:擁有一個具爭議性的策略。尋找反直覺的構想,然後執行。如果你照規矩來,你只會流於一般。區別才是關鍵。困難的是,你必須判斷正確。
規則#2:打破商業陳規,但不可用詐騙、說謊或偷竊的方式。這麼做,你將落得眾叛親離,失去忠誠員工對你的信賴。
規則#3:想辦法籌得一些錢,但不要太多。小數目的創業資本會迫使你錙銖必較、節省支出、追求效率,並且努力尋找新的生產途徑。
規則#4:具備一個理想。McNealy說:「人類大都是金錢驅動的,但他們也喜歡有一點精神上的收入。」例如,昇陽創造的開放原始碼學科維基Curriki,就解決了McNealy和他兒子作小學報告所碰到的問題。
規則#5:放手去作,但慎選伴侶。投入你全副的心力和靈魂去開創事業,但請在結婚之前。McNealy直到39歲才結婚,但婚後四個兒子接連出生。他建議:「你一生中最重要的決定就是和誰結婚生子。挑選一個配偶或重要的另一半,或任何你喜歡的伴侶。只要確定你挑了一個好人。這是一個創業者給你的一些實在的技術性建議。」
規則#2:打破商業陳規,但不可用詐騙、說謊或偷竊的方式。這麼做,你將落得眾叛親離,失去忠誠員工對你的信賴。
規則#3:想辦法籌得一些錢,但不要太多。小數目的創業資本會迫使你錙銖必較、節省支出、追求效率,並且努力尋找新的生產途徑。
規則#4:具備一個理想。McNealy說:「人類大都是金錢驅動的,但他們也喜歡有一點精神上的收入。」例如,昇陽創造的開放原始碼學科維基Curriki,就解決了McNealy和他兒子作小學報告所碰到的問題。
規則#5:放手去作,但慎選伴侶。投入你全副的心力和靈魂去開創事業,但請在結婚之前。McNealy直到39歲才結婚,但婚後四個兒子接連出生。他建議:「你一生中最重要的決定就是和誰結婚生子。挑選一個配偶或重要的另一半,或任何你喜歡的伴侶。只要確定你挑了一個好人。這是一個創業者給你的一些實在的技術性建議。」
9/25/2008
tricky skill (1) in C
struct rumble { char c[1]; }; struct rumble *p = (struct rumble*) malloc(sizeof(struct rumble) + 5);在C裡 有一個技巧就是在struct最後宣告一個單一元素的陣列
於是在malloc時就能擁有可變大小的struct rumble了
當然這個技巧也能用在C++ 但這會與compiler有關
因為雖然宣告在最後 compile時可能會產生額外的資料在最尾端
9/24/2008
預設值和多型的陷阱
class A { virtual void f(int i = 10); }; class B: public A { void f(int i = 20); }; A* a = B(); a->f();這題多型很簡單 a->f()會呼叫class B裡的f()
但問題是如果印i出來 值會是多少呢
答案是i = 10
原因是預設引數是在編譯時期根據a的型別確定了
所以i就被初始為10
最後印出來就是10了
9/10/2008
last order
演唱:陳奕迅
作曲:Eric Kwok, 編曲:Eric Kwok
監製:Eric Kwok, 填詞:黃偉文
沒關係 真的沒關係 我也許 早就該回去
再一杯 我告訴自己 到此為止 乾了不再續
麻煩你 加冰威士忌 對不起 來個DOUBLE的
喝到這裡 終於夠勇氣 說一個經歷
*那晚下雨 在這店裡 也放著這首曲
有個男子 搭上一個女子 反正失戀 他當然不介意 有段艷遇
只是回到 他的家裡 十幾坪 家徒四壁
一聲不響 那女的 掉頭離去
就像 三個小時前 未婚妻 初次到來 嫌棄的樣子
(就像 我的未婚妻 對不起 好像說成是我的樣子 我是沒關係)
沒關係 真的沒關係 一晚上 就失戀兩次
那男子 還不懂懷疑 到底自己是否沒出息
不客氣 別給我ICE TEA 客人們不是我嚇跑的
別看著我 這個不過是 我朋友的經歷
Repeat #()
作曲:Eric Kwok, 編曲:Eric Kwok
監製:Eric Kwok, 填詞:黃偉文
沒關係 真的沒關係 我也許 早就該回去
再一杯 我告訴自己 到此為止 乾了不再續
麻煩你 加冰威士忌 對不起 來個DOUBLE的
喝到這裡 終於夠勇氣 說一個經歷
*那晚下雨 在這店裡 也放著這首曲
有個男子 搭上一個女子 反正失戀 他當然不介意 有段艷遇
只是回到 他的家裡 十幾坪 家徒四壁
一聲不響 那女的 掉頭離去
就像 三個小時前 未婚妻 初次到來 嫌棄的樣子
(就像 我的未婚妻 對不起 好像說成是我的樣子 我是沒關係)
沒關係 真的沒關係 一晚上 就失戀兩次
那男子 還不懂懷疑 到底自己是否沒出息
不客氣 別給我ICE TEA 客人們不是我嚇跑的
別看著我 這個不過是 我朋友的經歷
Repeat #()
9/07/2008
9/01/2008
訂閱:
文章 (Atom)