[問題] const 用於func參數可以增加效率?

看板C_and_CPP作者 (丹尼斯)時間14年前 (2009/08/26 22:44), 編輯推噓2(202)
留言4則, 3人參與, 最新討論串1/1
想請問各位大大們, 日前我在網路上看到一篇文章內提到許多關於const的用法 引用該片段文章如下 2. const修饰函数参数 const修饰函数参数是它最广泛的一种用途,它表示函数体中不能修改参数的值 (包括参数本身的值或者参数其中包含的值)。它可以很好 void function(const int Var); //传递过来的参数在函数内不可以改变(无意义,因为 Var本身就是形参) void function(const char* Var); //参数指针所指内容为常量不可变 void function(char* const Var); //参数指针本身为常量不可变(也无意义, 因为 char* Var也是形参) 参数为引用,为了增加效率同时防止修改。 修饰引用参数时: void function(const Class& Var);//引用参数在函数内不可以改变 void function(const TYPE& Var); //引用参数在函数内为常量不可变 讓我不解的是'参数为引用,为了增加效率同时防止修改。' 為何void function(const Class& Var)的寫法可以增加效率?? -- 生活中不缺乏美、只是缺乏發現。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.169.74.72

08/26 22:58, , 1F
compiler 確定不會修改的話可以做更多最佳化。
08/26 22:58, 1F

08/27 02:06, , 2F
增加效率應該是指傳遞參數時用reference variable
08/27 02:06, 2F

08/27 02:07, , 3F
至於t大說的complier最佳化我就不太清楚細節了
08/27 02:07, 3F

08/27 10:00, , 4F
一般的 function 應該很難吧?會有 alias...
08/27 10:00, 4F
文章代碼(AID): #1AbKfZJr (C_and_CPP)