Barbarian2 : 그리고 어떤 목적을 위해 필요할 수 있습니까? 그 예가 될 수 있습니까?
class node
{
public :
void LinkWithNode(node* childNode)
{
if (CheckPoint(linkNode) != POINTER_INVALID )
this .childNode = childNode;
}
private :
node* childNode;
};
class LineNode : node
{
public :
LineNode(node* parentNode)
{
parentNode.LinkWithNode( GetPointer ( this ));
}
};
이 경우 LineNode를 생성할 때 현재 LineNode 인스턴스를 소유할 부모 노드를 지정해야 합니다. 그 후에 부모 노드는 참조하여 이 인스턴스에 액세스할 수 있습니다. 이 예에서 this라는 단어는 두 번 사용됩니다. 첫 번째 경우, this라는 단어는 childNode 변수가 현재 클래스를 구체적으로 참조한다는 것을 지정하는 반면, 이것이 없는 childNode는 LinkWithNode 메서드에서 같은 이름의 변수입니다. 두 번째 경우에는 클래스의 현재 인스턴스가 반환되고 GetPointer는 해당 인스턴스에 대한 포인터를 가져 옵니다. 따라서 생성 시 이미 LineNode를 바인딩하는 것이 가능합니다.
이 경우 LineNode를 생성할 때 현재 LineNode 인스턴스를 소유할 부모 노드를 지정해야 합니다. 그 후에 부모 노드는 참조하여 이 인스턴스에 액세스할 수 있습니다. 이 예에서 this라는 단어는 두 번 사용됩니다. 첫 번째 경우, this라는 단어는 childNode 변수가 현재 클래스를 구체적으로 참조한다는 것을 지정하는 반면, 이것이 없는 childNode는 LinkWithNode 메서드에서 같은 이름의 변수입니다. 두 번째 경우에는 클래스의 현재 인스턴스가 반환되고 GetPointer는 해당 인스턴스에 대한 포인터를 가져옵니다. 따라서 생성 시 이미 LineNode를 바인딩하는 것이 가능합니다.
예, 감소에 대해 신경 쓰지 않습니다(이 경우). 당신은 그것에 집중하지 않습니다. 이것의 용도는 다양할 수 있습니다. 이것은 (this)가 사용되는 개체의 인스턴스에 대한 동의어임을 이해하는 것이 중요합니다. 아직 인스턴스가 없을 때 클래스를 설명할 때 이것은 프로그래머가 염두에 두고 있는 것을 컴파일러에게 알리는 유일한 방법입니다.
이것은 자신에 대한 포인터가 아니라 개체 구현의 필드 식별자와 연결된 포인터입니다.
저것들. 객체의 어떤 메소드에서는 필드와 동일한 식별자를 갖는 지역 변수가 있을 수 있으며, 이 경우 이를 이용하여 객체의 필드에 대한 포인터와 지역 변수에 대한 포인터를 구별할 수 있다.
어떤 목적으로 필요할 수 있습니까? 그 예가 될 수 있습니까?
그리고 어떤 목적을 위해 필요할 수 있습니까? 그 예가 될 수 있습니까?
이 경우 LineNode를 생성할 때 현재 LineNode 인스턴스를 소유할 부모 노드를 지정해야 합니다. 그 후에 부모 노드는 참조하여 이 인스턴스에 액세스할 수 있습니다. 이 예에서 this라는 단어는 두 번 사용됩니다. 첫 번째 경우, this라는 단어는 childNode 변수가 현재 클래스를 구체적으로 참조한다는 것을 지정하는 반면, 이것이 없는 childNode는 LinkWithNode 메서드에서 같은 이름의 변수입니다. 두 번째 경우에는 클래스의 현재 인스턴스가 반환되고 GetPointer는 해당 인스턴스에 대한 포인터를 가져 옵니다. 따라서 생성 시 이미 LineNode를 바인딩하는 것이 가능합니다.
이 경우 LineNode를 생성할 때 현재 LineNode 인스턴스를 소유할 부모 노드를 지정해야 합니다. 그 후에 부모 노드는 참조하여 이 인스턴스에 액세스할 수 있습니다. 이 예에서 this라는 단어는 두 번 사용됩니다. 첫 번째 경우, this라는 단어는 childNode 변수가 현재 클래스를 구체적으로 참조한다는 것을 지정하는 반면, 이것이 없는 childNode는 LinkWithNode 메서드에서 같은 이름의 변수입니다. 두 번째 경우에는 클래스의 현재 인스턴스가 반환되고 GetPointer는 해당 인스턴스에 대한 포인터를 가져옵니다. 따라서 생성 시 이미 LineNode를 바인딩하는 것이 가능합니다.
저것들. 두 번째 경우에는 코드가 단축됩니까?
저것들. 두 번째 경우에는 코드가 단축됩니까?
아니, 그게 핵심이 아니야. 이것은 이미 정의 에 있는 클래스 의 인스턴스 를 관리할 수 있도록 합니다. 이것을 알면 특정 인스턴스에 고유한 동작을 부과할 수 있습니다. 이것은 높은 수준의 유연성과 추상화를 달성합니다.
말하다. 저는 mql4에서 5로 이동하고 있으며 1000 또는 10k 버퍼에 대한 표시기를 작성할 것입니다. 버퍼의 이름을 변수로 설정할 기회가 있었는지 여부.
처럼
동안(a<1000)
{
에이++ B++
버퍼 이름 = 버퍼+a
buf(a)=iMA(null, B,) }
그리고 동일한 루핑으로 부표의 후속 처리
또는 mql5의 새로운 기능으로 시간과 코드를 줄이는 방법.
우선 버퍼 256개 같은 제한(틀릴 수 있음)
버퍼에서는 모든 것이 정상입니다. 버퍼를 클래스에 넣고 별칭을 지정하고 별칭으로 검색할 수 있습니다.
tol64의 기사 어딘가에서 내가 그것을 보았고, 나는 그것을 직접 기억하지 못합니다. 봐.
우선 버퍼 256개 같은 제한(틀릴 수 있음)
버퍼에서는 모든 것이 정상입니다. 버퍼를 클래스에 넣고 별칭을 지정하고 별칭으로 검색할 수 있습니다.