PHPz2017-04-17 12:08:02
這裡面的const作用是保證修飾的參數在函數內部不被修改,
如果是引用傳值int cmp(const int &x,const int &y)
,的話將實參直接傳遞給函數,省去了將實參拷貝給形參的過程,再透過使用const
保證函數不可以修改傳給它的實參,能提升效率。
但是你的這個程式碼範例中,int cmp(const int x,const int y)
,首先還是要將實參的值拷貝給形參,然後再在函數中比較形參,所以效率並沒有提升,另外這種形式的函數使用const
完全是毫無意義,本身就算函數修改了形參的值,因為形參是實參的副本,所以根本不會影響到實參,使用const
來保證函數無法修改形參的值又有什麼意義呢?
詳細的了解,請看我的文章:http://segmentfault.com/a/1190000003696397
另外建議你多看一些C、C++的書,主要是關於指針和內存的書,這裡面的回答還只是比較片面的,希望你能多看一些書去系統化的了解
《C與指標》《C專家程式設計》《Effective C++》…書還是挺多的