Vladimir Tkach : 최근에 다른 컴파일러의 기능에서 일종의 "가비지 컬렉션"을 만나기 시작했습니다. 그것은 무엇입니까?
가비지 수집에 대해 이야기하고 있다면 이것은 삭제가 사용자 대신 수행하지만 변수가 범위를 벗어날 때가 아니라 원할 때 수행하는 것입니다. 그건 그렇고, 소멸자를 직접 호출 할 수 있다는 사실이 아닙니다. 여기서는 언어에 따라 다릅니다. 예리하게 내가 이해하는 한 불가능합니다.
Vladimir Simakov : 정확히. 이제 Sharpe에서 첫 번째 작업을 살펴보고 있으므로 메서드를 새로 추가한 후에는 코드에 삭제가 없기 때문에 끔찍합니다.))).
대신 delete MyObj를 작성하십시오. 그래서 MyObj = null; - 이것은 작동할 것이다
그럼, 연산자를 사용 ?? - 처음에는 어쩐지 낯설었다가, 기계에 써져있다.
그러나 이것이 C++과의 가장 큰 차이점은 아닙니다. C#에서 모든 개체는 참조이며 할당하는 경우 MyObj_1=MyObj_2; 그러면 이것은 복사가 아니지만 포인터가 있습니다 ... 일반적으로 이제 나는 당신을 혼란스럽게 할 것입니다. 여기에 간단한 설명서가 있습니다. 잊어 버린 것이 있으면 거기를 들여다 봅니다.
Ранее мы рассматривали следующие элементарные типы данных: int, byte, double, string, object и др. Также есть сложные типы: структуры, перечисления, классы. Все эти типы данных можно разделить на типы значений, еще называемые значимыми типами, (value types) и ссылочные типы (reference types). Важно понимать между ними различия. Ссылочные типы...
세 가지 다른 변수 세트와 함께 사용해야 하는 클래스가 있습니다. 그러나 그것은 한 가지 일을 합니다. 간단히 말해서 3개의 생성자를 삽입하고 3개의 변수를 선언하고 액세스할 수 있습니다. 그러나 내가 이해하기로는 이것이 완전히 옳은 것은 아닙니다. 또한 두 가지 버전에서 문자열 유형 변수 중 하나는 이름이 다르며 코드의 다른 부분에서 사용됩니다. 물론 변수의 순서를 변경할 수는 있지만 이것이 내가 이해하는 바가 완전히 옳은 것은 아닙니다.
new operator 에 대한 문서를 읽고 있지만 이 상황에서 어떻게 도움이 될 수 있는지 이해가 되지 않습니다. 세 개의 다른 개체 변수와 동일한 개체에 대한 세 개의 포인터 사이의 차이점을 알지 못합니다. 이것은 포인터를 한 번 생성하고 이 개체를 사용하고 불필요하게 삭제한 경우에 유용할 수 있습니다. 그러나 객체가 주기적으로 필요하다면 매번 포인터를 생성하고 삭제하는 것은 완전히 어리석은 일입니다.
일반적으로 도움을 요청합니다. C++에서 OOP에 대한 설명을 읽었지만 mql5 문서보다 훨씬 더 나쁘게 설명되어 있습니다. 조바심내지 마시고 많이 부탁드리겠습니다. 설명이없는 기성 코드도 관심이 없습니다. 나는 이것을 이해하고 "우리와 함께하십시오, 우리처럼 ..."
세 가지 다른 변수 세트와 함께 사용해야 하는 클래스가 있습니다. 그러나 그것은 한 가지 일을 합니다. 간단한 방법으로 3개의 생성자를 삽입하고 3개의 변수를 선언하고 액세스할 수 있습니다. 그러나 내가 이해하기로는 이것이 완전히 옳은 것은 아닙니다. 또한 두 가지 버전에서 문자열 유형 변수 중 하나는 이름이 다르며 코드의 다른 부분에서 사용됩니다. 물론 변수의 순서를 변경할 수는 있지만 이것이 내가 이해하는 바가 완전히 옳은 것은 아닙니다.
new operator 에 대한 문서를 읽고 있지만 이 상황에서 어떻게 도움이 될 수 있는지 이해가 되지 않습니다. 세 개의 다른 개체 변수와 동일한 개체에 대한 세 개의 포인터 사이의 차이점을 알지 못합니다. 이것은 포인터를 한 번 생성하고 이 개체를 사용하고 불필요하게 삭제한 경우에 유용할 수 있습니다. 그러나 객체가 주기적으로 필요하다면 매번 포인터를 생성하고 삭제하는 것은 완전히 어리석은 일입니다.
일반적으로 도움을 요청합니다. C++에서 OOP에 대한 설명을 읽었지만 mql5 문서보다 훨씬 더 나쁘게 설명되어 있습니다. 조바심내지 마시고 많이 부탁드리겠습니다. 설명이없는 기성 코드도 관심이 없습니다. 나는 이것을 이해하고 "우리와 함께하십시오, 우리처럼 ..."
경제 캘린더 이벤트 CalendarValueHistory()를 선택하는 것은 비밀이 아닙니다. 한 경우에는 모든 뉴스가 시간 범위에 있습니다. 다른 국가와 다른 시간 범위에서. 세 번째로 기호로. 그러나 근본적인 차이가 있습니까? 프로그래밍 강의는 솔루션을 수행하는 작업 유형에 따라 구분합니까?
나는 최근에 운전 시험에 통과하지 못한 어떤 사람을 만났는데, 운전 수업에서 이 교차로에 가지 않았고 그는 단순히 이 교차로에서 운전하는 법을 모른다고 분개했습니다.
최근에 다른 컴파일러의 기능에서 일종의 "가비지 컬렉션"을 만나기 시작했습니다. 그것은 무엇입니까?
여기서는 언어에 따라 다릅니다. 제가 알기로는 불가능합니다.
그래서 당신이 할 수 있는 일은 사용되지 않은 개체를 NULL에 할당하는 것뿐입니다. Microsoft 웹 사이트에 가비지 수집기를 강제로 호출하는 방법에 대한 설명서가 있지만 Habré에서 읽은 것 같습니다. 수집기는 예상대로 이 호출에서 정확히 시작됩니다.
저것들. Sharp에서 그들은 가능한 한 프로그래머로부터 메모리 관리를 빼앗았습니다. 모든 것은 OS의 자비에 있었고 컴파일러는 주어졌습니다.
그래서 당신이 할 수 있는 일은 사용하지 않는 개체에 NULL을 할당하는 것뿐입니다. Microsoft 웹 사이트에 가비지 수집기를 강제로 호출하는 방법에 대한 설명서가 있지만 Habré에서 읽은 것 같습니다. 수집기는 예상대로 이 호출에서 정확히 시작됩니다.
저것들. Sharp에서 그들은 가능한 한 프로그래머로부터 메모리 관리를 빼앗았습니다. 모든 것은 OS의 자비에 있었고 컴파일러는 주어졌습니다.
정확히. 이제 Sharpe에서 첫 번째 작업을 살펴보고 있으므로 메서드를 새로 추가한 후에는 코드에 삭제가 없기 때문에 끔찍합니다.))).
대신 delete MyObj를 작성하십시오. 그래서 MyObj = null; - 이것은 작동할 것이다
그럼, 연산자를 사용 ?? - 처음에는 어쩐지 낯설었다가, 기계에 써져있다.
그러나 이것이 C++과의 가장 큰 차이점은 아닙니다. C#에서 모든 개체는 참조이며 할당하는 경우 MyObj_1=MyObj_2; 그러면 이것은 복사가 아니지만 포인터가 있습니다 ... 일반적으로 이제 나는 당신을 혼란스럽게 할 것입니다. 여기에 간단한 설명서가 있습니다. 잊어 버린 것이 있으면 거기를 들여다 봅니다.
https://metanit.com/sharp/tutorial/2.16.php
OOP의 필요성과 이점을 이해하기 시작한 것 같지만 구현하기가 어렵습니다.
세 가지 다른 변수 세트와 함께 사용해야 하는 클래스가 있습니다. 그러나 그것은 한 가지 일을 합니다. 간단히 말해서 3개의 생성자를 삽입하고 3개의 변수를 선언하고 액세스할 수 있습니다. 그러나 내가 이해하기로는 이것이 완전히 옳은 것은 아닙니다. 또한 두 가지 버전에서 문자열 유형 변수 중 하나는 이름이 다르며 코드의 다른 부분에서 사용됩니다. 물론 변수의 순서를 변경할 수는 있지만 이것이 내가 이해하는 바가 완전히 옳은 것은 아닙니다.
new operator 에 대한 문서를 읽고 있지만 이 상황에서 어떻게 도움이 될 수 있는지 이해가 되지 않습니다. 세 개의 다른 개체 변수와 동일한 개체에 대한 세 개의 포인터 사이의 차이점을 알지 못합니다. 이것은 포인터를 한 번 생성하고 이 개체를 사용하고 불필요하게 삭제한 경우에 유용할 수 있습니다. 그러나 객체가 주기적으로 필요하다면 매번 포인터를 생성하고 삭제하는 것은 완전히 어리석은 일입니다.
일반적으로 도움을 요청합니다. C++에서 OOP에 대한 설명을 읽었지만 mql5 문서보다 훨씬 더 나쁘게 설명되어 있습니다. 조바심내지 마시고 많이 부탁드리겠습니다. 설명이없는 기성 코드도 관심이 없습니다. 나는 이것을 이해하고 "우리와 함께하십시오, 우리처럼 ..."
OOP의 필요성과 이점을 이해하기 시작한 것 같지만 구현하기가 어렵습니다.
세 가지 다른 변수 세트와 함께 사용해야 하는 클래스가 있습니다. 그러나 그것은 한 가지 일을 합니다. 간단한 방법으로 3개의 생성자를 삽입하고 3개의 변수를 선언하고 액세스할 수 있습니다. 그러나 내가 이해하기로는 이것이 완전히 옳은 것은 아닙니다. 또한 두 가지 버전에서 문자열 유형 변수 중 하나는 이름이 다르며 코드의 다른 부분에서 사용됩니다. 물론 변수의 순서를 변경할 수는 있지만 이것이 내가 이해하는 바가 완전히 옳은 것은 아닙니다.
new operator 에 대한 문서를 읽고 있지만 이 상황에서 어떻게 도움이 될 수 있는지 이해가 되지 않습니다. 세 개의 다른 개체 변수와 동일한 개체에 대한 세 개의 포인터 사이의 차이점을 알지 못합니다. 이것은 포인터를 한 번 생성하고 이 개체를 사용하고 불필요하게 삭제한 경우에 유용할 수 있습니다. 그러나 객체가 주기적으로 필요하다면 매번 포인터를 생성하고 삭제하는 것은 완전히 어리석은 일입니다.
일반적으로 도움을 요청합니다. C++에서 OOP에 대한 설명을 읽었지만 mql5 문서보다 훨씬 더 나쁘게 설명되어 있습니다. 조바심내지 마시고 많이 부탁드리겠습니다. 설명이없는 기성 코드도 관심이 없습니다. 나는 이것을 이해하고 "우리와 함께하십시오, 우리처럼 ..."
세부 정보가 필요합니다. 수업의 과제는 무엇입니까?
세부 정보가 필요합니다. 수업의 과제는 무엇입니까?
경제 캘린더 이벤트 CalendarValueHistory()를 선택하는 것은 비밀이 아닙니다. 한 경우에는 모든 뉴스가 시간 범위에 있습니다. 다른 국가와 다른 시간 범위에서. 세 번째로 기호로. 그러나 근본적인 차이가 있습니까? 프로그래밍 강의는 솔루션을 수행하는 작업 유형에 따라 구분합니까?
나는 최근에 운전 시험에 통과하지 못한 어떤 사람을 만났는데, 운전 수업에서 이 교차로에 가지 않았고 그는 단순히 이 교차로에서 운전하는 법을 모른다고 분개했습니다.
다른 국가와 다른 시간 범위에서.
열거된 국가들
생성자에서 일반적인 스위치 케이스를 통해서도 필요에 따라 초기화하고 위의 인터페이스가 있는 템플릿을 보여 줬고 매개 변수에 따라 생성자에서 전략 중 하나를 초기화하고 나머지 작업은 쓰기로 귀결됩니다. 구체적인 전략
https://www.mql5.com/ru/forum/85652/page24#comment_13054686
열거된 국가들
생성자에서 일반적인 스위치 케이스를 통해서도 필요에 따라 초기화하고 위의 인터페이스가 있는 템플릿을 보여 줬고 매개 변수에 따라 생성자에서 전략 중 하나를 초기화하고 나머지 작업은 쓰기로 귀결됩니다. 구체적인 전략
https://www.mql5.com/en/forum/85652/page24#comment_13054686
동경... 여기도 인터페이스가 있는 템플릿을 마스터해야 하나요???