エラー、バグ、質問 - ページ 2325

 
Ilyas:
オペレーターを断念する正当な理由があったのか→?
 
TheXpert:
オペレーターを断念するような重大な理由はなかったのか→?

いや、深刻な理由はなかった。

その理由は、C++に慣れていないユーザーの未熟な頭脳への配慮に他なりません。

 
fxsaber:

二重否定はコンパイラで最適化されているのでしょうか?

はい、そうです。

 
Ilyas:

いや、深刻な理由はなかった。

それがないのは、C++に慣れていないユーザーのもろい心に配慮してのことだ。

追加しても悪いことは起きないと思います。

しばらくは曖昧さのないポインタでの使用を許可してもよいでしょう。

もちろん、警告も出す。


 
マーケットプレイスで商品に「試用版ダウンロード」のボタンを追加するにはどうしたらいいですか?
 
Koldun Zloy:

追加しても悪いことは起きないと思います。

しばらくの 間は、曖昧さのないポインターでポイントを使用することが許されるかもしれません。

もちろん、警告も 出す。

なぜ、こんなに複雑にするのか?.と→を等価な、交換可能な記録とするのに十分である。

比喩的な表現

#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:

動的オブジェクトとしてのポインタの概念は崩壊する

今はそのような概念はなく、オブジェクトとそのポインタが一山に混在しています。