掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
charとunsigned charとdeleteについて (ID:68260)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
> 同じsignedやunsignedはあくまで符号の扱いで、型としては静的に同じだから 規格書はそんなことは述べていないので「異なる型」である (7.1.5.2) 静的な型とはソースコード上での当該式の型(正確には指し示す先の型) (最初の例では uc が示す先の型 unsigned char ) 動的な型とはそのポインタ式が指し示す先の実体の型 (最初の例では new[] したところの char ) 配列の delete[] の際にこの両者が異なるとダメだよと規格書は言っている # クラス型限定とかそういう文言は無いので POD でもダメ というわけで、提示コードはまさに規格書がダメと言っている例に該当していることになる ただし ある特定コンパイラ+特定オプション指定下で問題が発生するかしないかと 言語規格書として「絶対に問題なく動作する」状況を明示するのとでは 話の次元が異なるわけだ 移植性とか互換性とか拡張性とかを無視して自己責任で違う型で delete[] したければ どうぞご勝手に。俺はやらない # デバッグツールが new や delete を差し替えてログ取るような状況下で # 誤動作とかメモリリークレポートとかあがってきても不思議ぢゃない
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.