[解決済み] キャスティングとコージャスの違いは何ですか?
2023-02-26 17:47:57
質問
ネット上の説明では、この2つの用語はほとんど同じように使われていますし、私が参照した教科書の多くも、この区別について完全には明確ではありません。
この違いを説明する明確で簡単な方法をご存知ですか?
型変換 (と呼ばれることもあります。 型キャスト )
ある型の値を、別の型を想定しているコンテキストで使用すること。
非変換型キャスト (と呼ばれることがあります。 タイプパン )
根本的なビットを変更しない変更。
強制(Coercion)
コンパイラがある型の値を別の型の値に自動的に変換するプロセスで、その第二の型が周囲の文脈で必要とされる場合。
どのように解決するのですか?
タイプ変換 :
言葉 変換 は、あるデータ型から別のデータ型に暗黙的または明示的に値を変更することを指します。例えば、16ビット整数から32ビット整数へ。
この単語は coercion は暗黙の変換を表すのに使われます。
この単語は キャスト という言葉は、ビットパターンの再解釈か実際の変換かに関係なく、(暗黙の変換ではなく)明示的な型変換を指すことが一般的です。
つまり、coercionは暗黙的、castは明示的、conversionはそのいずれかを指します。
いくつかの例( と同じソース ) :
強制(暗黙)。
double d;
int i;
if (d > i) d = i;
キャスト(明示)。
double da = 3.3;
double db = 3.3;
double dc = 3.4;
int result = (int)da + (int)db + (int)dc; //result == 9
関連
-
[解決済み】aspNetCore 2.2.0 - AspNetCoreModuleV2 エラー
-
[解決済み] C#のStringとstringの違いは何ですか?
-
[解決済み] staticmethodとclassmethodの違いについて
-
[解決済み] メソッドと関数の違いは何ですか?
-
[解決済み] インターフェースと抽象クラスの違いは何ですか?
-
[解決済み] 抽象メソッドと仮想メソッドの違いは何ですか?
-
[解決済み] C#のconstとreadonlyの違いは何ですか?
-
[解決済み] フィールドとプロパティの違いは何ですか?
-
[解決済み] パブリック、プライベート、プロテクトの違いは何ですか?
-
[解決済み】type()とisinstance()の違いは何ですか?)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】プログラム実行中に1秒待つ
-
[解決済み】統合マネージドパイプラインモードで適用されないASP.NETの設定が検出された
-
[解決済み] DBNullから他の型にオブジェクトをキャストすることができない
-
[解決済み】MetadataException: 指定されたメタデータ・リソースをロードできない
-
[解決済み】Visual studio 2019がデバッグ時にフリーズする件
-
[解決済み】値をNULLにすることはできません。パラメータ名:source
-
[解決済み】画像のペイントにTextureBrushを使用する方法
-
VSでscanfエラーを恒久的に解決するには、ソースファイルを作成し、自動的に#define _CRT_SECURE_NO_WARNINGS 1を追加してください。
-
[解決済み】Nullableオブジェクトは値を持たなければならない?
-
[解決済み】JavaScriptの比較では、どちらの等号演算子(== vs ===)を使うべきですか?