C++ 표준은 예상 기능을 실제로 방해 할 수있는 지점까지 최적화를 허용한다는 것을 읽었습니다. 이 말을 할 때, 나는 반환 값 최적화에 대해 말하고있다. 여기서 복사 생성자에 실제로 어떤 논리가있을 수 있지만 컴파일러는 호출을 최적화한다.C++ 최적화에 관한 질문
이 사실을 모르는 사람은이 문제로 인해 버그를 수정하는 데 꽤 시간을 할애 할 수 있으므로 다소 나쁘다.
내가 알고 싶은 것은 컴파일러의 최적화가 기능을 변경할 수있는 다른 상황이 있는지 여부입니다. 같은
예를 들어, 뭔가 :
int x = 1;
x = 1;
x = 1;
x = 1;
가 최적화 될 수있는 하나의 X = 1;
가정하자 나는 한 :
class A;
A a = b;
a = b;
a = b;
이 가능성도 최적화 할 수 있을까요? 아마 가장 좋은 예,하지만 난는 컴파일러가 부작용이 눈에 띄게을 변경 곳에 지점으로 최적화 할 수있는 유일한 경우입니다 ... 당신이 무슨 뜻인지 아시죠
나는 근접 투표에 동의하지 않는다. 이것은 진정하고 답할만한 질문입니다. –
copy ctor를 없애면 코드의 버그가 발생하고 처음에는 잘못 ctor를 고안했습니다. 코드가 얼마나 많은 객체가 있는지 또는 객체가 복사/할당되는 빈도에 의존해서는 안됩니다. – PlasmaHH
copy ctor의 논리는 객체를 복사하기위한 논리 여야합니다. 복사되지 않으면 ctor 논리를 복사해야하는 이유는 무엇입니까? –