「The C Standard says that array indexes are (signed)
integers.
The reason behind that is that pointers and arrays
are close in C. For example, tab[index] is strictly
equivalent to *(tab + index). You can use pointer
arithmetic with negative values, hence an array
index can be negative」
とあるので、C 言語での配列添え字は符号付き整数
ですね。
しかし、C++ では、size_t とされ、符合なし整数
のようですが、矛盾しませんか?
VC++の以下のマクロでは、
#define C_ASSERT(e) typedef char __C_ASSERT__[(e)?1:-1]
eが偽の時にエラーになるようになっているようです。
これはつまり、
typedef char aaa[-1];
がエラーになる事を前提にしているようです。
しかし、もし、配列の最大要素数が、符合なし整数
であるならば、32BIT 環境の場合、
-1 は、0xffff_ffff と同じと言えば同じであるはずで、
コンパイラ内部で効率よく区別するのは難しいはずです。
どうしてるんでしょう。
C++相談室 part165
■ このスレッドは過去ログ倉庫に格納されています
210デフォルトの名無しさん (オイコラミネオ MMeb-tjaG)
2024/02/06(火) 20:42:09.19ID:WnlTLfV5M■ このスレッドは過去ログ倉庫に格納されています
ニュース
- NHK、訪問営業の外部委託を再開 新規受信契約のため [少考さん★]
- timelesz猪俣周杜容疑者 事件3日前に新作映画撮影済みだった 関係各所が対応追われる [muffin★]
- 【8割おじさん】新型コロナの猛威に「人との接触を8割減らす」と呼びかけたのは正しかったか…第一線で発信を担った専門家は反省を口に [煮卵★]
- 「タトゥーを入れてモテなくなった」タトゥーで後悔、HカップYouTuber [ヴァイヴァー★]
- 国歌取り違えから宿泊施設への不満まで…アジア大会で運営面のトラブル頻発 海外から「“日本は完璧”の評判問われる」 [煮卵★]
- 豚が覆いかぶさった状態で発見 農場で倒れていた22歳男性が死亡・鹿児島 [えりにゃん★]
- シルバーウルフ银狼のお🏡
- 【ジャップ悲報】トー横キッズ、新宿駅で一般人を警棒で無差別にボコボコにして炎上 [939270813]
- 高市首相、ニューヨーク国連総会でレアアース規制の中国追求へ。 「法の支配に基づく自由で開かれた秩序への挑戦」 [668024367]
- トランプ「歴代大統領格付けしたったwww」 [744361492]
- シルバーウィーク暇ならアニソン聴こうぜ・・・
- 左翼学者斎藤幸平さん「憲法9条とか平和を守ろうとかスローガンだけ唱え続けても若者には響かない」⇢スタジオ固まる… [963243619]