多次面試的時候遇到C++的面試問題,有很多善於面試的人也專門去研究了常見面試問題的答案。在實際工作中是不是C++特性用得越深入就越好呢?
我使用了多年的C語言,C++語言也有一定的瞭解,但是個人認爲並非C++語言一定優於C語言。面對一些複雜的算法,用C++語言可以使代碼更容易維護,但是也造成了很多潛在問題。曾經調試過一個嚴重的內存泄露問題,最終發現導致問題的原因就是隱式類型轉換。
C++的複雜性和靈活性對於開發複雜的商業應用確實比C語言更有優勢,不過這一領域C++已經被Java和C#代替了。接近底層的開發一直是C語言的領域,C++主要還是應用在這兩個領域之間。比如C#寫的代碼還要調用C++寫的COM組件。
在需要使用C++複雜特性的時候,需要謹慎。我覺得不應爲了技術而技術,解決問題,易於維護更有意義。