2016-04-06 16 views
0

は、私たちは、私がこれを行うならば、私はエラーを取得するたとえば、整数タイプのメモリアドレスを格納することができますポインタを使用せずにアドレスを格納する他の方法。とにかく私がintタイプでこれを行うことができるかどうか私に知らせてください。メモリアドレスは整数型で格納できますか?</p> <pre><code>int i; int j = &i; </code></pre> <p>私たちは<code>int* j = &i</code>のようなポインタを使用することによってそれを行うことができます知っているが、私はいかなるがあるかどうかを知りたい:

+0

C++またはC#で...? – immibis

+0

C++の[reinterpret_cast](http://en.cppreference.com/w/cpp/language/reinterpret_cast): "ポインタは、ポインタの値を保持するのに十分な大きさの整数型に変換できます(例:std: :uintptr_t)。 " – songyuanyao

答えて

2

アドレスをintに格納すると、アドレスの一部が切り捨てられる可能性があります。私はintとしてアドレスを格納する必要がある理由を正確にはわかりませんが、本当に必要な場合はstd :: intptr_tを使用してください。アドレスを保持するのに十分な大きさです。

+1

'std :: intptr_t'または' std :: uintptr_t'です。 'std'のないものはCヘッダからのものです。大したことではありませんが、C++ではC++を使うべきです。 – doug65536

関連する問題

 関連する問題