컴파일러가 첫 번째 예제에서 맹세하기를 원하면 모든 것이 합법적이기 때문에 작동하지 않습니다. 참조로 개체 인스턴스를 변경하지 않고 메서드가 호출되는 개체 인스턴스를 변경하지만 그것이 하나의 동일한 객체가 될 수 있다는 사실, 그래서 이것은 컴파일러 문제가 아니라 프로그래머의 골칫거리입니다.
클래스의 경우 다음 트릭을 수행할 수 있습니다(구조의 경우 작동하지 않음).
class A
{
int i;
public :
void f( const A &Value )
{
Print (Value.i); // 0if (& this !=&Value) this .i = Value.i + 1 ;
Print (Value.i); // 1
}
};
voidOnStart ()
{
A a;
a.f(a);
}
fxsaber :
아마도 그러한 상황에서 일부 컴파일러는 경고를 발행합니다.
지정자는 개체 전체가 아니라 참조를 참조하며 모든 것이 합법적입니다. 컴파일러가 맹세해야 하는 이유는 무엇입니까?
지정자는 개체 전체가 아니라 참조를 참조하며 모든 것이 합법적입니다. 컴파일러가 맹세해야 하는 이유는 무엇입니까?
아마, 그렇다면 여기에 학대는 없었을 것입니다.
아마, 그렇다면 여기에 학대는 없었을 것입니다.
그리고 여기서 객체는 상수이며 상수 객체 에 대해 상수가 아닌 참조가 있을 수 없다는 것이 논리적입니다.
그리고 여기서 객체는 상수이며 상수 객체 에 대해 상수가 아닌 참조가 있을 수 없다는 것이 논리적입니다.
상수 객체 에 대한 참조를 만드는 방법은 무엇입니까?
상수 객체 에 대한 참조를 만드는 방법은 무엇입니까?
과부하를 추가하십시오.
과부하를 추가하십시오.
이러한 오버로드는 상수 참조에 대한 오버로드가 아닌가요?
거래, 자동 거래 시스템 및 거래 전략 테스트에 관한 포럼
OOP, mql5의 템플릿 및 매크로, 미묘함 및 사용 기술
더엑스퍼트 , 2020.02.26 15:24
지정자는 개체 전체가 아닌 참조를 나타냅니다.
이러한 오버로드는 상수 참조에 대한 오버로드가 아닌가요?
그리고 무엇을 하고 싶습니까?
이러한 오버로드는 상수 참조에 대한 오버로드가 아닌가요?
컴파일러가 첫 번째 예제에서 맹세하기를 원하면 모든 것이 합법적이기 때문에 작동하지 않습니다. 참조로 개체 인스턴스를 변경하지 않고 메서드가 호출되는 개체 인스턴스를 변경하지만 그것이 하나의 동일한 객체가 될 수 있다는 사실, 그래서 이것은 컴파일러 문제가 아니라 프로그래머의 골칫거리입니다.
클래스의 경우 다음 트릭을 수행할 수 있습니다(구조의 경우 작동하지 않음).
컴파일러가 첫 번째 예제에서 맹세하기를 원하면 모든 것이 합법적이기 때문에 작동하지 않습니다.
이것은 합법성에 관한 것이 아니라 const 수정자가 객체의 불변성을 보장하지 않는다는 사실에 관한 것입니다.
ORDER_TIME_SETUP_MSC 값과 일치하는 것이 가능하다면 보류 중인 것은 의미가 없습니다.
거래, 자동 거래 시스템 및 거래 전략 테스트에 관한 포럼
라이브러리: MT4Orders
fxsaber , 2020.02.27 09:40
실행 중인 계정에서 최대 2분 실행. 여기에서 기사를 공유하세요. 스크립트는 라이브러리를 사용하지 않으며 Netting/Hedge에 적합합니다.