값을 변경하지 않을 때마다 const
을 엄격하게 사용하거나 데이터를 수정할 때만 포인터를 포인터로 전달하는 것이 중요하다고 생각합니까?const 또는 피연산자로 올바른 인수
올바른 일을하고 싶습니다만, 인수로 전달 된 struct
크기가 크면 데이터를 복사하는 대신 주소를 전달하고 싶지 않으십니까? 일반적으로 피연산자로 struct
인수를 선언하는 것만 큼 효과적입니다.
//line1 and line2 unchanged in intersect function
v3f intersect(const line_struct line1, const line_struct line2);
//"right" method? Would prefer this:
v3f intersect2(line_struct &line1, line_struct &line2);
유효하지 않다. 두 번째 함수에서는 함수 본문에서 인수를 수정할 수 있습니다. – ouah
컴파일러에 따라 pass-by-value 매개 변수에 const를 적용하면 최적화에 도움이 될 수 있습니다. 컴파일러는 const 한정자를 매개 변수에 쓰기가 허용되지 않는 문으로 해석해야합니다. – Throwback1986
@ouah : 당신 말이 맞아요. 그것들은 외부 행동과 동등하다고 덧붙였습니다. –