C++ Tutorial/Development/reinterpret cast

Материал из C\C++ эксперт
Перейти к: навигация, поиск

Use reinterpret_cast to cast from char pointer to integer

<source lang="cpp">#include <iostream> using namespace std; int main() {

 int i;
 char *p = "This is a string";
 i = reinterpret_cast<int> (p); // cast pointer to integer
 cout << i;
 return 0;

}</source>

4448256"

Using reinterpret_cast: cast float to int

<source lang="cpp">#include <cassert>

  1. include <iomanip>
  2. include <iostream>
  3. include <ostream>

using namespace std; int main() {

 float pi = 1.1;
 int   ipi;
 cout << setfill("0") << showbase << hex << internal;
 assert(sizeof(int) == sizeof(float));
 ipi = reinterpret_cast<int&>(pi);
 cout << "pi bits=" << setw(10) << ipi << "\n";

}</source>

pi bits=0x3f8ccccd