下面首先給出這幾篇文章,都是介紹STL入門的極佳導學文章--
C++ STL輕松導學
STL簡介
A modest STL tutorial
看了這篇文章之後,我想妳壹定對STL有了壹個概括性質的了解,當然,如果妳感覺自己了解的仍然不夠充分,妳可以去這裏--
STL 中文站
最優秀的STL使用學習網站
C++ Standard Template Library Overview
獲取更為詳細的信息;其實網上有關STL的東西太多了,魚龍混雜,但絕不乏精品,所以,如果妳感覺看某壹篇有關STL的文章實在是看不下去了,就應該考慮是不是這篇文章質量有問題,再去網上搜取合適的吧。
我想通覽了以上有關STL的信息之後,我們可以得出這樣壹個結論,那就是在linux下,如果要使用STL庫,可選的就是這兩個:Boost和SGI;
下面我們分別來作壹下比較:
這是C++ Boost 庫的文檔索引
這是C++ SGI 庫的文檔索引
經過比較,我們可以得出這樣壹個結論,Boost庫的內容更為豐富壹些;所以,如果妳打算體驗壹下Linux下的基於STL的應用開發,可以準備從Boost的學習開始,而且Boost的網上文檔也是非常豐富的,參與Boost的開發人員甚至達到了2000多人!
下面在Linux下編寫壹個基於STL的程序,測試壹下;對了,現在我們也知道了Linux下默認支持的STL是SGI庫,此庫在Linux下性能非常不錯!
這裏先給出程序源代碼:
#include <iostream>#include <vector>using namespace std;int main(int argc, char *argv[]){ vector<int> int_vector; vector<double> double_vector; int_vector.push_back(99); int_vector.push_back(9999); double_vector.push_back(99.99); double_vector.push_back(9999.9999); int size; size = int_vector.size(); for (int i = 0; i < size; i ++){ cout << int_vector[i] << endl; } size = double_vector.size(); for (int j = 0; j < size; j ++){ cout << double_vector[j] << endl; }}
註意其中的這壹句“using namespace std;”,如果沒有這壹句,妳會遇到很多莫名其妙的問題,導致妳不知所措,沒辦法排除錯誤,而實際上解決問題的關鍵就是這麽壹句話!