タグ付けされた質問 「casting」

キャストは、変換が許可されている場合、オブジェクト型が明示的に別の型に変換されるプロセスです。このプロセスにより、値が変化する可能性があります。


10
ポインタを整数に変換する
既存のコードを64ビットマシンに適合させようとしています。主な問題は、1つの関数で、前のコーダーが関数自体で適切な型に変換されるvoid *引数を使用することです。短い例: void function(MESSAGE_ID id, void* param) { if(id == FOO) { int real_param = (int)param; // ... } } もちろん、64ビットマシンでは、次のエラーが発生します。 error: cast from 'void*' to 'int' loses precision これを修正して、32ビットマシンでも可能な限りクリーンに動作するようにします。何か案が ?
85 c++  gcc  casting  64-bit  32-bit 

3
Win32のunsignedintへのダブルキャストは2,147,483,648に切り捨てられます
次のコードをコンパイルします。 double getDouble() { double value = 2147483649.0; return value; } int main() { printf("INT_MAX: %u\n", INT_MAX); printf("UINT_MAX: %u\n", UINT_MAX); printf("Double value: %f\n", getDouble()); printf("Direct cast value: %u\n", (unsigned int) getDouble()); double d = getDouble(); printf("Indirect cast value: %u\n", (unsigned int) d); return 0; } 出力(MSVC x86): INT_MAX: 2147483647 UINT_MAX: …

13
java:あるタイプから別のタイプへの変数の動的キャストを行うにはどうすればよいですか?
Java変数の動的キャストを実行したいのですが、キャストタイプは別の変数に格納されています。 これは通常のキャストです: String a = (String) 5; これは私が欲しいものです: String theType = 'String'; String a = (theType) 5; これは可能ですか?もしそうなら、どのように?ありがとう! 更新 HashMap受け取ったものをクラスに入力しようとしています。 これはコンストラクターです: public ConnectParams(HashMap<String,Object> obj) { for (Map.Entry<String, Object> entry : obj.entrySet()) { try { Field f = this.getClass().getField(entry.getKey()); f.set(this, entry.getValue()); /* <= CASTING PROBLEM */ } catch (NoSuchFieldException ex) { …

1
キャスト演算子を明示的にすることはできますか?
コンストラクターに関して言えば、キーワードexplicitを追加すると、プログラマーの最初の意図ではないときに熱心なコンパイラーがオブジェクトを作成するのを防ぐことができます。そのようなメカニズムは鋳造オペレーターにも利用できますか? struct Foo { operator std::string() const; }; ここでは、例えば、私はキャストできるようにしたいと思いFooの中にstd::string、私は、このようなキャストは暗黙のうちに起こることを望んでいません。

5
Javaでの変数のキャスト
キャストのしくみを教えてもらえませんか?いつ行うべきかは理解していますが、実際にはどのように機能するかはわかりません。プリミティブデータ型については部分的に理解していますが、オブジェクトのキャストに関しては、それがどのように機能するかを理解していません。 Object型のオブジェクトを突然キャストしてMyType(単なる例)、すべてのメソッドを取得するにはどうすればよいですか?
84 java  casting 

6
C#でIntをジェネリック列挙型にキャストする
C#のCast int to enumに似ていますが、私の列挙型はGenericTypeパラメーターです。これを処理するための最良の方法は何ですか? 例: private T ConvertEnum<T>(int i) where T : struct, IConvertible { return (T)i; } コンパイラエラーを生成します Cannot convert type 'int' to 'T' 完全なコードは次のとおりです。ここで、valueにはintまたはnullを含めることができます。 private int? TryParseInt(string value) { var i = 0; if (!int.TryParse(value, out i)) { return null; } return i; } private T? TryParseEnum<T>(string value) …
84 c#  generics  casting  enums 

4
sqliteでintをrealに変換する
sqliteの除算は整数値を返します sqlite> select totalUsers/totalBids from (select (select count(*) from Bids) as totalBids , (select count(*) from Users) as totalUsers) A; 1 結果をタイプキャストして、除算結果の実際の値を取得できますか?
84 sql  sqlite  casting  division 

9
TypeScriptのプロパティを使用して関数オブジェクトを作成します
いくつかのプロパティも保持されている関数オブジェクトを作成したいと思います。たとえば、JavaScriptでは次のようにします。 var f = function() { } f.someValue = 3; TypeScriptでは、このタイプを次のように説明できます。 var f: { (): any; someValue: number; }; しかし、キャストを必要とせずに実際に構築することはできません。といった: var f: { (): any; someValue: number; } = <{ (): any; someValue: number; }>( function() { } ); f.someValue = 3; キャストなしでこれをどのように構築しますか?

4
画像をBufferedImageに変換するJava
StackOverflowにはこのリンクのような質問がすでにあり、受け入れられた答えは「キャスト」です。 Image image = ImageIO.read(new File(file)); BufferedImage buffered = (BufferedImage) image; 私のプログラムでは、次のことを試します。 final float FACTOR = 4f; BufferedImage img = ImageIO.read(new File("graphic.png")); int scaleX = (int) (img.getWidth() * FACTOR); int scaleY = (int) (img.getHeight() * FACTOR); Image image = img.getScaledInstance(scaleX, scaleY, Image.SCALE_SMOOTH); BufferedImage buffered = (BufferedImage) image; 残念ながら、実行時エラーが発生します。 sun.awt.image.ToolkitImageをjava.awt.image.BufferedImageにキャストすることはできません 明らかにキャストは機能しません。 …

3
freeの戻り値をvoidにキャストする理由
私はCを使用した本(Butenhofによるプログラミング、POSIXスレッドによるプログラミング、1997)を読んでいて、次の行に出くわしました。 (void)free(data); ここでdataは、割り当てられた構造体への単なるポインタですが、 data = malloc(sizeof(my_struct_t)); freeキャストされた結果はなぜvoidですか? Cについての私の理解から、これは2つの理由で意味をなさないようです: 無料の関数はすでに戻ります void コードは戻り値を使用していません(変数に割り当てられていません) 本は1997年に書かれました。これはある種のレガシーなものですか? 著者は、例がDigital Unix 4.0dで実行されたと述べていますが、その結果を使用しないのであれば、関数の結果をキャストする理由を想像することはできません。
82 c  casting  free  void  legacy-code 

1
MySQL:NULLを0に型キャストする
次の表(たとえば、いくつかの内部結合ステートメントの結果)を想定します。 id | column_1 | column_2 ------------------------ 1 | 1 | 2 | 2 | 2 3 | | 3 たとえば、次のステートメントから取得できます。 select a.id, t1.column_1, t2.column_2 from a left join t1 on a.id = t1.id left join t2 on a.id = t2.id ここで、t1.column_1とt2.column_2を次のように合計したい場合 select a.id, t1.column_1, t2.column_2, (t1.column_1 + t2.column_2) as …
82 sql  mysql  casting 

8
C ++でintを列挙型にキャストする一般的な方法
キャストに汎用的な方法があるintのenumではC++? のint範囲内にあるenum場合はenum値を返す必要があり、そうでない場合はexception。をスローします。それを一般的に書く方法はありますか?複数enum typeをサポートする必要があります。 背景:外部列挙型があり、ソースコードを制御できません。この値をデータベースに保存して取得したいと思います。
81 c++  casting  enums 

3
'System.Int32'から 'System.Nullable`1 [[System.Int32、mscorlib]]へのキャストが無効です
Type t = typeof(int?); //will get this dynamically object val = 5; //will get this dynamically object nVal = Convert.ChangeType(val, t);//getting exception here 上記のコードでInvalidCastExceptionが発生しています。int? nVal = val上記の場合、単純に書くことができますが、上記のコードは動的に実行されます。 オブジェクト(ここではval)にラップされた値(int、floatなどのnull許容型ではない)を取得しています。別の型(null許容バージョンにすることもできないこともあります)にキャストして、別のオブジェクトに保存する必要があります。それの)。いつ 'System.Int32'から 'System.Nullable`1 [[System.Int32、mscorlib、Version = 4.0.0.0、Culture = neutral、PublicKeyToken = b77a5c561934e089]]'へのキャストが無効です。 はint、にコンバーチブル/タイプキャスト可能である必要がありますnullable intが、ここでの問題は何ですか?

6
リフレクション付きの「キャスティング」
次のサンプルコードを検討してください。 class SampleClass { public long SomeProperty { get; set; } } public void SetValue(SampleClass instance, decimal value) { // value is of type decimal, but is in reality a natural number => cast instance.SomeProperty = (long)value; } 今、私はリフレクションを通して同様のことをする必要があります: void SetValue(PropertyInfo info, object instance, object value) { // throws System.ArgumentException: …
81 c#  reflection  casting 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.