cout << "read " << v.size() << " elements\n";
reverse(v.begin(),v.end());
cout << "elements in reverse order:\n";
for (int i = 0; i<v.size(); ++i) cout << v[i] << ’\n’;
return 0; // 成功返回
}
更多的關于使用標準庫將事情簡化的例子,請參見《C++程序設計語言》中的“漫游標準庫”("Tour of the Standard Library")一章。
為什么編譯要花這么長的時間?
你的編譯器可能有問題。也許它太老了,也許你安裝它的時候出了錯,也許你用的計算機已經是個古董。在諸如此類的問題上,我無法幫助你。
但是,這也是很可能的:你要編譯的程序設計得非常糟糕,以至于編譯器不得不檢查數以百計的頭文件和數萬行代碼。理論上來說,這是可以避免的。如果這是你購買的庫的設計問題,你對它無計可施(除了換一個更好的庫),但你可以將你自己的代碼組織得更好一些,以求得將修改代碼后的重新編譯工作降到最少。這樣的設計會更好,更有可維護性,因為它們展示了更好的概念上的分離。
看看這個典型的面向對象的程序例子:
class Shape {
public: // 使用Shapes的用戶的接口
virtual void draw() const;
virtual void rotate(int degrees);
// ...
protected: // common data (for implementers of Shapes)
Point center;
Color col;
// ...
};
class Circle : public Shape {
public:
void draw() const;
void rotate(int) { }
// ...
protected:
int radius;
// ...
};
class Triangle : public Shape {
public:
void draw() const;
void rotate(int);
// ...
protected:
Point a, b, c;
// ...
};
延伸閱讀
文章來源于領測軟件測試網 http://www.kjueaiud.com/