私の読書の過程で、私は1993年に書かれたWG14欠陥レポート#51に出くわしました(またはおそらく1893年、彼らは世紀と千年紀を中断しました)。そこにあるコードサンプルでは、スペルト小麦の演算子->>
がへのポインタに使用されているようstruct
です。私が見つけた演算子の優先順位テーブルでそれを見つけることができないので、私はそれが演算子であるか、またはこれまでであったかどうか疑問に思っています、もしそうなら、この演算子は何をしますか(または場合によってはしましたか)?
最初はタイプミスだと思っていましたが、質問への回答として、テキストで2回、コードサンプルでもう1回再現されており、少なくとも2人のCエキスパートをすり抜けただけだとは信じられません。それが私のような初心者に飛び出したとき、気づきました。また、コードの焦点であり、非常に気づきやすく、修正されることはありませんでした。
インデントが追加されたコードは次のとおりです。
#include <stdlib.h>
struct A {
char x[1];
};
main()
{
struct A *p = (struct A *) malloc(sizeof(struct A) + 100);
p->>x[5] = '?'; /* This is the key line [for both them and us] */
return 0;
}
このコードをCコンパイラとC++コンパイラの両方でコンパイルしようとしましたが、どちらかで解析できませんでした。おそらくこれは、Cの初期バージョンで、もう使用されていない演算子でしたか?
これは、この演算子の名前は何ですか:「->」のように不審に感じます。質問ですが、これは他の2つの演算子の組み合わせではないと思います。どのように分割して、有効にすることができるかわかりません。