오류, 버그, 질문 - 페이지 2325

 
Ilyas :
-> 연산자를 포기해야 할 심각한 이유가 있었나요?
 
TheXpert :
-> 연산자를 포기해야 할 심각한 이유가 있었나요?

아니, 심각한 이유는 없었다.

그것의 부재에 대한 유일한 정당성은 C++에 익숙하지 않은 사용자의 연약한 마음을 돌보는 것입니다.

 
fxsaber :

컴파일러가 이중 부정을 최적화합니까?

예, 최적화됩니다.

 
Ilyas :

아니, 심각한 이유는 없었다.

그것의 부재에 대한 유일한 정당성은 C++에 익숙하지 않은 사용자의 연약한 마음을 돌보는 것입니다.

추가하면 나쁘지 않을 것 같아요.

한동안은 모호함이 없는 포인터와 함께 point를 사용할 수 있게 될 것입니다.

그리고 당연히 경고를 내립니다.


 
시장에 있는 제품에 버튼을 추가하는 방법: "시험판 다운로드"?
 
Koldun Zloy :

추가하면 나쁘지 않을 것 같아요.

당분간 은 모호함이 없는 포인터와 함께 point를 사용할 수 있습니다.

그리고 물론 경고를 발행합니다 .

왜 그렇게 어렵게 만드나요? 충분히 할 수 있습니다. 및 -> 동등하고 상호 교환 가능한 항목

비유적으로 말하면

 #define ->   .
 
fxsaber :

예, 귀하의 경우에는 모호성이 있습니다. 좋은 방법으로, 이에 대한 컴파일러 경고 가 최소한 있어야 합니다.

훨씬 단순한 경우에는 모든 것이 명확합니다. C++도 이에 동의한다고 생각합니다.

그래서 경우 MQL은 옵션 (2)를 의미하고 C++는 옵션 (1)을 의미합니다. 저것들. 당신 은 상상의 명료함을 가지고 있습니다 - 작은 변화(클래스 A)와 의미가 극적으로 변화합니다
 
A100 :
당신은 상상의 명료함을 가지고 있습니다 - 작은 변화(클래스 A)와 의미가 극적으로 변화합니다

이는 클래스 변경 사항이며 적절한 컴파일러 메시지가 표시 되어야 합니다.

그것이 없다면 완전한 명확성을 의미합니다.

 
Ilyas :

임시 해결책으로 '!' 연산자를 사용하십시오. (논리적이지 않음)
우리는 해결책을 생각할 것입니다(많은 코드가 있는 지금 동작을 변경할 수 있습니까?)
포인터의 경우 bool 캐스트 작업은 포인터가 가리키는 개체가 아니라 포인터에 대한 작업일 수 있습니다.

기존 코드를 변경하지 않고는 작동하지 않습니다... 동적 객체가 붕괴되는 포인터의 전체 개념

저것들. 그냥 쓰는 것보다

 class A {
public :
         bool operator* ( A* a ) { return true ; }
};
void OnStart ()
{
        A *a, *b;
         if ( a * b );  //(1)
}

당신은 혼란스럽게 작성해야합니다

         if ( *a * *b );//(2)

그리고 이 모든 것은 무엇을 위한 것입니까? NULL에 대한 포인터를 확인할 수 있었습니까? - 이에 대한 비교 연산자가 있습니다.

         if ( a != NULL ); //(3)

왜 복제합니까?

 
A100 :

포인터의 전체 개념을 동적 객체로 축소

지금은 개념이 없으며 개체와 개체에 대한 포인터가 하나의 힙에 혼합되어 있습니다.