1. 牽一發(fā)而動全身

現(xiàn)在開始進入你的C++程序,你對你的類實現(xiàn)做了一個很小的改動。注意,不是接口,只是實現(xiàn),而且是private部分。然后你需要rebuild你的程序,計算著這個build應該幾秒鐘就足夠了。畢竟,只修改了一個類。你點擊了build 或者輸入了make( 或者其他方式),你被驚到了,然后羞愧難當,因為你意識到整個世界都被重新編譯和重新鏈接了!當這些發(fā)生時你不覺的感到憤恨么?

回到頂部

2. 編譯依賴是如何發(fā)生的

問題出在C++并不擅長將接口從實現(xiàn)中分離出來。類定義不僅指定了類的接口也同時指定了許多類的細節(jié)。舉個例子:

大數(shù)據(jù)培訓,云培訓,數(shù)據(jù)挖掘培訓,云計算培訓,高端軟件開發(fā)培訓,項目經理培訓

 1 class Person { 2 public: 3 Person(const std::string& name, const Date& birthday, 4 const Address& addr); 5 std::string name() const; 6 std::string birthDate() const; 7 std::string address() const; 8 ... 9 private:10 std::string theName; // implementation detail11 Date theBirthDate; // implementation detail12 13 Address theAddress;              // implementation detail14 15 };

網友評論