掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
Stringクラスをキャストするには? (ID:55934)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
#ちょっとしつこく書いてみます > 確かにそうですね、一般化された変換規則として 「一般化」と「一般的」は違いますのでご注意を。 「一般的には〜」は「普通は〜」と同義ですが、「一般化」とは、その規則がどのような場合にも通用するようにすることです。 "0" は false、"1" は true。 では "2" は? "3" は? "う゛ぃしぃぷらぷら" は? となってしまいます。 これは変換規則が "0" と "1" の場合にしか通用していないので、「一般化されていない」状態です。 大抵、プログラミングにおいて真偽を決めるときは、あるものを「偽」と決め、それ以外を全て「真」とします。 C++ では 0 が偽なので、それ以外… 1 も 2 も 3 も 8641 も -4 も、すべて真です。 ですから今回は "0" が false、それ以外が true ということになるのでしょうか。 もちろん、"0" が false、"1" が true、それ以外は変換不能として例外で落とす、という設計も可能です。 これなら、あらゆる値に対応できる変換規則になったので「一般化された」状態です。 で、本題ですが。 String::Equals で比較するだけですね。 まず "0" と比較し、同じだったら false に確定。 その後で、それ以外の全てを true とみなすか、さらに S"1" と比較して…を行うかは設計次第ということで。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.