>>896
> NULL許容で書けたところで、実行時にはNULLチェックするわけだから
いや、そうじゃない。
というかそっちの議論も多いようだから、誤解するのも分かるんだが。
以下を読むのがいいだろう。
> null許容参照型
> http://www.buildinsider.net/column/iwanaga-nobuyuki/012
Cに対して導入するとしたら以下か。
1. 「null非許容のポインタ」を文法的に用意する。
2. 「null非許容のポインタ」にはNULLは代入できない。(SyntaxError)
3. 「null非許容のポインタ」に「従来のポインタ」の値を代入するには明示的なキャストが必要。
これでヌルポを静的に検出できるようになる。
「null非許容のポインタ」に関しては実行時のNULLチェックは必要ない。
問題は3で、C++ならdynamic_castのみとして例外を投げればいいのだが、
Cの場合これは無理なので、
・リンター等でキャスト直前にNULLチェックしているかを検出する
・明示的キャストをマクロ等でNULLチェックのインライン関数等に置き換える
等の対策が必要にはなるが、
それでもNULLに対してクリーン/ダーティな区画を文法的に分離できるようになるので、
今よりはだいぶマシにはなる。
とはいえこれはbetterCとしてC++を使うのなら現行のC++でも似たようなことは十分できる。
だからわざわざ新文法が必要か?というのと、他と同様に、
静的チェック「だけ」のための新文法を導入する価値があるのか?
という話にはなる。
そして . と -> の話に戻すなら、
「『null非許容型の』struct* から *structへの暗黙的キャストを認める」
という仕様なら、そちらの危惧している部分については回避できることになる。
探検
C言語なら俺に聞け 140 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
897デフォルトの名無しさん (ワッチョイ 0123-z+eH)
2017/07/16(日) 01:49:05.19ID:AkX0kyqa0■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【中国外務省】日中関係悪化は高市氏に責任と名指しで非難… [BFU★]
- 【中国外務省】日中関係悪化は高市氏に責任と名指しで非難… ★2 [BFU★]
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか…★2 [BFU★]
- 小野田紀美・経済安保担当相「何か気に入らないことがあればすぐに経済的威圧をする国への依存はリスク」 [Hitzeschleier★]
- 政府、株式の配当など金融所得を高齢者の医療保険料や窓口負担に反映する方針を固めた [バイト歴50年★]
- 【維新】吉村知事「中国人観光客だけに頼るビジネスモデル変えていかないといけない」「高市総理の発言は撤回する必要はない」 [Hitzeschleier★]
- 中国高官と話す外務省局長の表情、やばい ★2 [175344491]
- 中国高官と話す外務省局長の表情、やばい [175344491]
- 港区、中国に宣戦布告 中国外務省をおちょくる掲示物を展示 [175344491]
- 【ほんこん悲報】吉本新喜劇の中国公演が中止に! [523957489]
- 中国外務省「日中関係の悪化は高市早苗首相が原因」と名指しで強く非難。キタ━(゚∀゚)━! [153490809]
- 小野田経済安保相「すぐに経済的威圧するところへの依存はリスク」😲 [861717324]
