標籤

C++ (12) Linux (6) MacOSX (4) Makefile (3) Matlab (3) Ubuntu (3) Android (2) C (1) Refactoring (1)

2012年5月1日 星期二

[重構] Premature Optimization is The Root of All Evil

最近讀了一些重構(refactoring)和專案建置的書
感覺C++的功力又更上一層

不過我這邊要講的跟是不是用C++沒有太大的關係
只要你是用物件導向(object oriented)的程式語言來撰寫程式就夠了

你可以直接在Google輸入
"Premature Optimization is The Root of All Evil"
就會找到一堆相關的文章
Google甚至會在你打入premature optimization後就會提示你 is the root of all evil

翻成中文後大致上的意思是
"過早的最佳化是所有罪惡的根源"

大概有90%的最佳化的動作
都會在完整的專案完成後發現一點屁用都沒有

2012年4月23日 星期一

[C++] const 篇


在之前的文章中有提到
我們如果要為類別(class)撰寫介面函式如get的話
可以寫成:

vector& getNameList() {
   return _nameList;
}


const vector& getNameList() const {
   return _nameList;
}

不過其實const的學問是很博大精深的

2012年4月19日 星期四

[Ubuntu]

每次重灌ubuntu時都會發現缺東缺西的
趕緊記下來以免又忘了

[Git]
sudo apt-get install git-core git-doc  gitweb git-gut gitk git-email git-svn
git config --global color.ui true
git config --global user.name "Boton Chou"
git config --global user.email "xxx@gmail.com"

2012年4月7日 星期六

[Makefile] wildcard addprefix addsuffix

今天要講的是wildcard、添加前綴後綴的addprefix和addsuffix

可以參考:跟我一起寫Makefile:概述

[C++] 各式各樣的CAST

如果你對static_cast, dynamic_cast 等等還不甚熟悉
那你一定不常使用多型 (polymorphism)
更別說你懂物件導向語言

今天要講的主題是cast運算子 (operator)
包括了static_cast, const_cast, dynamic_cast, reinterpret_cast這四個運算子

這裡我就擷取一些精華翻譯一下: