변수 정의 최대한 늦추기(effective c++ 26)

2015. 8. 25. 17:48프로그래밍/Effective C++

728x90
728x90

왜?

사용하지 않을 상황에 객체를 생성하여 필요 없는 생성자랑 소멸자를 호출하는 상황을 피할 수 있다.

객체생성에 필요한 모든 값을 받은 뒤 생성자에서 값을 초기화하여 필요 없는 대입을 막는다




예외가 발생하면 encrypted변수는 사용되지 않고 쓸데없는 생성자와 소멸자만 호출하고 사라짐.


방법. 객체를 예외 이후에, 대입 연산이 일어난다면 그냥 복사생성자로!


루프에서



A방법 : 생성자 1번 + 소멸자 1번 + 대입 n번

B방법 : 생성자 n번 + 소멸자 n번


대입에 들어가는 비용이 생성자 + 소멸자보다 적게 나온다면 A방법을 사용.

단 A방법은 w의 범위가 넓어지므로 유지보수에는 불리.


그 외에는 B방법을 사용한다.


정리

변수 정의는 늦출 수 있을 때까지 늦추는 것이 프로그램이 깔끔해지며 효율이 좋아진다.



728x90
반응형