[C++] size_t auf int/unsigned int casten

Hallo Tutorialisten,
ich habe ein mehr oder weniger kleines Problem, ihr kennt sicherlich die Warnung
warning C4267: 'return' : conversion from 'size_t' to 'unsigned int', possible loss of data
ich weis das normalerweise der Code korrekt ausgeführt wird, wenn ein size_t an einen unsigned integer übergeben wird.(vorausgesetzt 32-bit system)

Meine Fragen lauten jetzt:
-gibt es eine Möglichkeit diese konvertierung legal/schön bzw. ohne Warning vorzunehmen?

-wie sieht es mit size_t auf 64-bit maschinen aus? ich will meinen Code Standardkonform und Plattformunabhängig halten.

Vielen Dank schonmal,
greetz, random
 
C:
C++:
destination_type (variable)
Function-Style-Cast
C++:
 (destination_type) variable
C-Style-Cast (Holzhammer)

C++:
C++:
static_cast<destination_type>(variable)
static_cast
C++:
reinterpret_cast<destination_type>(variable)
reinterpret_cast (Holzhammer :D)
C++:
dynamic_cast<destination_type(variable>)
dynamic_cast => Zeiger auf abgeleitete Klasse auf Zeiger auf Basisklasse umwandeln

Und natürlich Implizit-Cast ... das passiert wohl am öftesten ;)
 
Zurück