메소드 선언 후 const 수정자는 무엇을 의미합니까? - 페이지 3

 
드물게 다음 구성을 의도적으로 사용합니다.
 const TYPE1 Method( const TYPE2 Input ) const ;
그리고 객체의 내부 데이터를 변경하지 않고 액세스도 하지 않으면 즉시 메서드를 static으로 작성합니다. 나를 위해 const와 static을 사용하면 내 코드의 가독성/이해가 크게 향상됩니다. 또한 구현 초기 단계에서 자체 아키텍처의 버그나 결함을 자주 포착할 수 있습니다.

나는 나 자신을 위해 모든 것을 씁니다. 그리고 내가 해서는 안 되는 데이터를 변경하지 않을 것 같습니다. 그러나 자신의 어리석음으로부터 자신을 보호하려는 욕구는 OOP 아키텍처를 변경에 사용할 수 있는 것만 사용할 수 있는 방식으로 리벳을 박도록 강요합니다. 나머지 - 아니요. 그리고 여기서 const + 유형의 상속이 많은 도움이 됩니다. 추천하다.
 
Dmitry Fedoseev :

아마도 이것은 제작자가 일반 사용자에게 제공하는 일부일 것입니다. EA 및 Bid, Ask 변수의 시작 기능과 같습니다. 모든 것을 스스로 할 때 모든 종류의 const로 귀찮게하는 것은 의미가 없습니다.

불행히도 호환성을 위해 이 안정기를 모두 끌어야 합니다. 반면에 C 및 C++의 작은 코드는 매우 빠르게 MQL로 이식됩니다(여러 번 테스트됨).
 

나는 한 가지 흥미로운 경향을 발견했습니다. 압도적인 대다수의 경우 그것을 전혀 이해하지 못하는 사람들이 엄청난 장점에 대해 이야기합니다. 기본적으로 전형적인 샤프.

네, 물론 막대기처럼 똑바르게 만들어야 할 때 샤프가 더 좋고 편리합니다.)

 
zaskok3 :
드물게 다음 구성을 의도적으로 사용합니다.
그리고 객체의 내부 데이터를 변경하지 않고 액세스도 하지 않으면 즉시 메서드를 static으로 작성합니다. 나를 위해 const와 static을 사용하면 내 코드의 가독성/이해가 크게 향상됩니다. 또한 구현 초기 단계에서 자체 아키텍처의 버그나 결함을 자주 포착할 수 있습니다.
...

오, 얘들아. MetaQuotes에게 자비를 베푸십시오. 프로그래머의 첫 번째 계명 중 하나: 절대로 static을 사용하지 마십시오. 두 번째 계명: 정적을 사용하려면 1번 항목을 참조하세요. :)

정적 데이터가 다른 스레드가 읽는 동안 한 스레드에서 변경되면 이러한 다중 스레드 프로그래밍의 기적이 일어나기 시작하여 이 정적 데이터를 나쁜 꿈처럼 기억합니다.

그러나 이것은 MQL의 사용자에게 좋습니다. 멀티스레딩이 없습니다. 즉, 사용자 스레드가 읽기를 완료하기 전에 정적을 변경하는 메서드가 없음을 의미합니다.

 
Vasiliy Sokolov :

프로그래머의 첫 번째 계명 중 하나: 절대로 static을 사용하지 마십시오. 두 번째 계명: 정적을 사용하려면 1번 항목을 참조하세요. :)

정적 데이터가 다른 스레드가 읽는 동안 한 스레드에서 변경되면 이러한 다중 스레드 프로그래밍의 기적이 일어나기 시작하여 이 정적 데이터를 나쁜 꿈처럼 기억합니다.

다시 한 번 나는 논의가 없을 것이라고 확신했습니다)
 
Комбинатор :

나는 한 가지 흥미로운 경향을 발견했습니다. 압도적인 대다수의 경우 그것을 전혀 이해하지 못하는 사람들이 엄청난 장점에 대해 이야기합니다. 기본적으로 전형적인 샤프.

네, 물론 막대기처럼 똑바르게 만들어야 할 때 샤프가 더 좋고 편리합니다.)

고전적인 si plushnik maza: "고양이를 좋아하지 않으세요? 고양이를 요리하는 방법을 모르세요."

아니요, 다른 언어와 마찬가지로 C++도 개발 표준에 맞출 수 있다는 사실을 부인하지 않습니다. 사실, 이러한 표준에 도달할 때까지 갈퀴에 대해 너무 많이 죽임을 당하여 C++에서 정말 멋진 프로그래머가 되거나 침을 뱉고 1C ERP-shki로 가서 하프를 연주하게 될 것입니다.

 
Vasiliy Sokolov :

고전적인 si plushnik maza: "고양이를 좋아하지 않으세요? 고양이를 요리하는 방법을 모르세요."

뭐, 그냥 그렇습니다.)

나는 Sharpe에 반대할 것이 없습니다. 저는 바로 지금 편리하고 빠르게 봇을 작성합니다.

나는 그들이 자격이 없는 것에 진흙을 던지고, 게다가 아무도 당신에게 그것을 반드시 사용하도록 강요하지 않는 것이 마음에 들지 않습니다.

이것은 일반적으로 consta와 plus 모두에 적용됩니다.

 
Комбинатор :

뭐, 그냥 그렇습니다.)

나는 Sharpe에 반대할 것이 없습니다. 저는 바로 지금 편리하고 빠르게 봇을 작성합니다.

나는 그들이 자격이 없는 것에 진흙을 던지고, 게다가 아무도 당신에게 그것을 반드시 사용하도록 강요하지 않는 것이 마음에 들지 않습니다.

이것은 일반적으로 consta와 plus 모두에 적용됩니다.

알았어 세상. 단순히 토론 With ++는 항상 holivar에서 롤다운됩니다.

Z.Y. 누군가 const를 사용하여 주제가 무엇인지 설명하면 감사하겠습니다. 정말 이해가 안됩니다.

 
Vasiliy Sokolov :

Alex가 예제를 작성했습니다. const 메서드는 클래스의 멤버를 변경할 수 없습니다.

 void bar(X& obj) const 
    {
         obj._x = 42 ; // OK! obj передается по ссылке и не имеет модификатора const
        _x = 42 ; // ERROR!
    }

내가 뭔가를 이해하지 못했을 수도 있지만 ... 여기. Aleksey는 상수 메서드 막대가 클래스 obj의 개체를 변경한다고 썼습니다. 문제가 무엇입니까?

예, obj는 참조로 전달되지만 이 때문에 메서드가 일정하지 않습니다...

 
Alexey Kozitsyn :

내가 뭔가를 이해하지 못했을 수도 있지만 ... 여기. Aleksey는 상수 메서드 막대가 클래스 obj의 개체를 변경한다고 썼습니다. 문제가 무엇입니까?

예, obj는 참조로 전달되지만 이 때문에 메서드가 일정하지 않습니다...

자신의 것이 아니라 완전히 이방인이며 유형 만 동일합니다.