[過去ログ]
C言語なら俺に聞け 163 (1002レス)
上
下
前
次
1-
新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
774
:
はちみつ餃子
◆8X2XSCHEME (ワッチョイ 7932-C6fW)
04/20(日)16:06
ID:srj6a33k0(1/2)
AA×
[
240
|
320
|480|
600
|
100%
|
JPG
|
べ
|
レス栞
|
レス消
]
774: はちみつ餃子◆8X2XSCHEME (ワッチョイ 7932-C6fW) [sage] 2025/04/20(日) 16:06:51.19 ID:srj6a33k0 原則としては論理型が必要であれば stdbool.h (内で定義される bool) を使うべきだと思う。 論理型が C99 で導入されるより前の古いプログラム中で bool という名前を使っている場合に配慮して論理型の名前を _Bool にした上でその別名の bool を stdbool.h 内で定義するという変な構成になっている。 (もし bool という名前を独自の定義で使っている場合は単に stdbool.h を使わないという選択が可能。) このような状況から、互換性の問題がなければ論理型は bool という名前にしたかったし、論理型の値は true, false と書きたいという意図が感じられる。 自分が書くプログラム内で名前が衝突するような問題がないのなら意図に乗っかっておくのが無難そうに思われる。 C23 からは bool, true, false がキーワードとして直接にサポートされるようになって stdbool.h は意味を失いただ存在するだけになった。 こういう変更をする以上はこれが C のあるべき新しい姿と考えられてるってことなんだろう。 stdbool.h を使うことで (古い規格でも) 新しい姿を先取りできるわけ。 ただ、 C23 の変更はちょっとだけ互換性を損なう部分があるから注意を要する。 stdboo.h で定義される旧来の true, false は 1, 0 に展開されるマクロで、要するに型で言えば int だった。 C23 からの true, false は bool 型のリテラルという立場を持つ。 これが問題になるケースはそれほどないとは思うけど……。 http://mevius.5ch.net/test/read.cgi/tech/1721137434/774
原則としては論理型が必要であれば 内で定義される を使うべきだと思う 論理型が で導入されるより前の古いプログラム中で という名前を使っている場合に配慮して論理型の名前を にした上でその別名の を 内で定義するという変な構成になっている もし という名前を独自の定義で使っている場合は単に を使わないという選択が可能 このような状況から互換性の問題がなければ論理型は という名前にしたかったし論理型の値は と書きたいという意図が感じられる 自分が書くプログラム内で名前が衝突するような問題がないのなら意図に乗っかっておくのが無難そうに思われる からは がキーワードとして直接にサポートされるようになって は意味を失いただ存在するだけになった こういう変更をする以上はこれが のあるべき新しい姿と考えられてるってことなんだろう を使うことで 古い規格でも 新しい姿を先取りできるわけ ただ の変更はちょっとだけ互換性を損なう部分があるから注意を要する で定義される旧来の は に展開されるマクロで要するに型で言えば だった からの は 型のリテラルという立場を持つ これが問題になるケースはそれほどないとは思うけど
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 228 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
ぬこの手
ぬこTOP
0.054s