마운드에서 OOP에 대해 이야기하기 - 페이지 16

 
Vasiliy Sokolov :

일반 프로그래밍 언어( C++ 아님) 에서 '=' 연산자의 오버로딩은 금지되어 있습니다.

평범한 언어는 당신의 날카로운? 그리고 당신이 아는 유일한 사람은? 그리고 그것은 짜증납니다. 그렇지 않으면 "인터페이스는 상속이 아닙니다"와 같은 문구를 중단하지 않을 것입니다.

그래서 거기 연산자 =가 있고 설탕과 전혀 같지 않고 연산자로서 계산됩니다. 그리고 MQL에는 자동으로 생성된 카운트업이 있습니다!

그리고 MQL의 복사 생성자가 당신이 작성한 것보다 훨씬 더 편리하다는 사실은 말할 가치도 없습니다. Krch는 몇 년 전 멍청한 놈이었고 남아있었습니다. ChSV는 Deniska처럼 자랐습니다.

 
Комбинатор :

... ChSV는 Denis처럼 성장했습니다.

세부 사항에 대해 나를 잡을 수 없으므로 이제 포럼의 나머지 회원에게 퍼졌습니다. 아래 및 낮은.

(참고: 그는 다른 사람들을 3인칭으로 그리고 소문자로, 예를 들어 존경 없이 "여러분 모두는 여기에 없습니다")

 
Vasiliy Sokolov :

일반 프로그래밍 언어( C++ 아님) 에서 '=' 연산자의 오버로딩은 금지되어 있습니다.

특히 템플릿을 광범위하게 사용할 때 이 연산자에 과부하가 걸릴 가능성이 있다는 것이 매우 편리합니다. 그리고 다른 많은 상황에서 과부하가 걸립니다.

그리고 일부 에서는 연산자 오버로딩이 거의 완전히 금지되어 있습니다. 그것은 거기에서 반패턴으로 간주될 만합니다. 나는 그러한 과부하, 특히 할당 연산자를 사용하기 전에 왜 이 어리석은 언어의 이 어리석은 건축가가 이것을 하는지 생각하는 것이 좋습니다.

연산자를 사용하는 전형적인 예는 복소수와 행렬입니다. 나는 아무 잘못도 보지 않는다. 코드가 더 이상 번거롭지 않고 논리가 즉시 표시되기 때문에 저는 계속해서 명령문을 작성합니다.


원생 동물문

 struct MQLTICK : public MqlTick
{
   bool operator >( const double Price ) const
  {
     return ( this .bid > Price);
  }

   bool operator <( const double Price ) const
  {
     return ( this .ask < Price);
  }
};
 

Vasiliy SokolovSchemer 는 욕설을 중단하십시오.

그렇지 않으면 Volchansky는 srach 도발자로 금지되어야합니다 :)

 
Vasiliy Sokolov :

당신은 세부 사항에 나를 잡을 수 없습니다

당신은 세부 사항이 부족합니까? )) 할당과 함께 날카로운 코드를 작성하려면? 또는 복사 생성자가 어떻게 작성되었는지 보여주시겠습니까? 또는 할당 연산자 가 있는 언어를 나열합니까? 당신이 말도 안되는 소리를 하고 있다는 것을 인정하는 것보다 구체적인 내용이 부족하다고 이야기하고 나에 대해 거짓 비난을 하는 것이 훨씬 쉽습니다.
 
Rashid Umarov :

그렇지 않으면 Volchansky는 srach 도발자로 금지되어야합니다 :)

음 ... 아니. 그러면 누가 이야기를 독살시키겠습니까? 나보다 선동자

 
Vasiliy Sokolov :

나는 증오하는 사람들, 더구나 문맹자들의 도발에 굴복하지 않고 오히려 내 관점을 설명할 것입니다.

일반 프로그래밍 언어( C++ 아님) 에서 '=' 연산자의 오버로딩은 금지되어 있습니다. 그리고 일부 에서는 연산자 오버로딩이 거의 완전히 금지됩니다. 그것은 거기에서 반패턴으로 간주될 만합니다. 나는 그러한 과부하, 특히 할당 연산자를 사용하기 전에 왜 이 어리석은 언어의 이 어리석은 건축가가 이것을 하는지 생각하는 것이 좋습니다.

글쎄, 왜 이러한 "일반 프로그래밍 언어"입니까?

할당 연산자를 오버로딩하는 것은 많은 경우에 매우 편리합니다. 전형적인 예는 "스마트 포인터"입니다. 할당 연산자는 포인터를 복사할 뿐만 아니라 AddRef()도 수행해야 합니다. 오버로딩을 사용하면 이 모든 작업이 투명하게 수행됩니다.

편리한 이유는 무엇입니까? 그러나 객체 전체가 아니라 포인터를 복사하는 것이 훨씬 더 논리적이기 때문입니다. (그런데 인디케이터에서 배열에 대한 포인터를 제공하지 않는 개발자를 다시 비난하고 모든 데이터를 자신의 개체에 복사해야 합니다). 그리고 프로그램의 다른 위치에 집중적으로 복사를 하다보면 해당 객체가 필요한지 아닌지를 판단하기 어렵습니다. 스마트 포인터는 이 경우에 매우 유용합니다.

물론 "가비지 수집기"와 같은 것이 있지만 포인터가 참조 및 복사 수에 대한 전체 액세스 권한을 갖는 반면 가비지 수집기는 그렇지 않기 때문에 정확히 이 옵션이 마음에 들지 않습니다. 포인터는 더 이상 필요하지 않은 객체를 파괴하고 가비지 수집기는 약간의 지연으로 작동합니다.

 
George Merts :

물론 "가비지 수집기"와 같은 것이 있지만 포인터가 참조 및 복사 수에 대한 전체 액세스 권한을 갖는 반면 가비지 수집기는 그렇지 않기 때문에 정확히 이 옵션이 마음에 들지 않습니다. 포인터는 더 이상 필요하지 않은 객체를 파괴하고 가비지 수집기는 약간의 지연으로 작동합니다.

어휴 GC가 강제로 실행되어도 항상 모든 것을 삭제하는 것은 아닙니다. 때때로 이것이 문제가 됩니다.
 
Vasiliy Sokolov :

나는 증오하는 사람들, 더구나 문맹자들의 도발에 굴복하지 않고 오히려 내 관점을 설명할 것입니다.

일반 프로그래밍 언어( C++ 아님) 에서 '=' 연산자의 오버로딩은 금지되어 있습니다. 그리고 일부 에서는 연산자 오버로딩이 거의 완전히 금지됩니다. 그것은 거기에서 반패턴으로 간주될 만합니다. 나는 그러한 과부하, 특히 할당 연산자를 사용하기 전에 왜 이 어리석은 언어의 이 어리석은 건축가가 이것을 하는지 생각하는 것이 좋습니다.

나는 Andrei에게 개인적으로 저항 할 수 없었 습니다. 젠장, 글쎄, 그런 식으로 자신을 모욕하지 마십시오. 결국, 당신은 솔직히 어리석은 것들을 동결합니다. 먼저 FP에 대해, 이제 연산자에 대해. 속이려는 경우 - 환영: 신뢰할 수 있는 출처에 대한 링크 제공, 정당화 등 그리고 당신이 지금 하고 있는 일은 열광적이고, 가장 중요하게는 절대적으로 문맹인 증오입니다. 글쎄, 당신은 실제 프로그래머와도 같은 프로그래머와 같습니다. 그런 것을 이미 작성하는 것은 부끄러운 일입니다.


Vasily, 언어의 이름을 표시하는 것이 바람직합니다. "보통", "일부", "이것들"이라는 문구는 말한 내용에 신뢰성을 추가하지 않습니다. 우리는 픽션 작가가 아니라 프로그래머입니다. 우리의 진술에서 구체적으로 말합시다.

 
Yuriy Asaulenko :
어휴 GC가 강제로 실행되어도 항상 모든 것을 삭제하는 것은 아닙니다. 때때로 이것이 문제가 됩니다.

개체가 높은 확률로 다시 생성될 것이라고 믿으면 삭제하지 않습니다.