Click here to Skip to main content
15,884,767 members
Home / Discussions / C / C++ / MFC
   

C / C++ / MFC

 
AnswerRe: Distinguish Thread State(running or suspend) Pin
Mark Salsbery13-May-07 6:23
Mark Salsbery13-May-07 6:23 
QuestionVC++ 6.0 and VSS integration registry entries - again Pin
Vaclav_12-May-07 14:04
Vaclav_12-May-07 14:04 
QuestionVisual Styles - Edit Control Pin
Meh!12-May-07 13:44
Meh!12-May-07 13:44 
AnswerRe: Visual Styles - Edit Control Pin
Perspx13-May-07 0:15
Perspx13-May-07 0:15 
QuestionMonitor open files on a share Pin
Vadim Tabakman12-May-07 13:35
Vadim Tabakman12-May-07 13:35 
AnswerRe: Monitor open files on a share Pin
Vadim Tabakman12-May-07 16:47
Vadim Tabakman12-May-07 16:47 
GeneralRe: Monitor open files on a share Pin
erajsri13-May-07 22:32
erajsri13-May-07 22:32 
QuestionCorrect usage of reinterpret_cast and static_cast Pin
ComplexLifeForm12-May-07 10:03
ComplexLifeForm12-May-07 10:03 
Hi All,

I am an intermediate C++ programmer and have a question on the casting operators in C++ when converting between integral data types. My question is as follows:-

If I have a code like this

char c;
int i = 65;
c = i;

VC++ 2005 Complier gives a warning as "possible loss of data. conversion from int to char. So to remove the warning I have the following choices

1. Disable the warning by using #pragma warning (XXXXX:disable). I do not want to use this.

2. Use C style cast to remove the warning as
c = (char)i;
Again I do not want to use this option

3. Use C++ casting operators. I can use either reinterpret_cast as

c = reinterpret_cast<char&>(i);
or static_cast as
c = static_cast<char>(i);

However I am confused between the correct usage. Both these casting operators removes the warning and also gives the desired result.

Can someone please clarify which is the correct usage and if that usage has any side effects?

Thanks and Regards

AnswerRe: Correct usage of reinterpret_cast and static_cast Pin
John R. Shaw12-May-07 10:58
John R. Shaw12-May-07 10:58 
AnswerRe: Correct usage of reinterpret_cast and static_cast Pin
bob1697212-May-07 12:06
bob1697212-May-07 12:06 
GeneralRe: Correct usage of reinterpret_cast and static_cast Pin
John R. Shaw12-May-07 12:36
John R. Shaw12-May-07 12:36 
GeneralRe: Correct usage of reinterpret_cast and static_cast Pin
bob1697212-May-07 13:20
bob1697212-May-07 13:20 
GeneralRe: Correct usage of reinterpret_cast and static_cast Pin
Stephen Hewitt13-May-07 15:00
Stephen Hewitt13-May-07 15:00 
GeneralRe: Correct usage of reinterpret_cast and static_cast Pin
John R. Shaw14-May-07 15:12
John R. Shaw14-May-07 15:12 
GeneralRe: Correct usage of reinterpret_cast and static_cast Pin
ComplexLifeForm12-May-07 21:11
ComplexLifeForm12-May-07 21:11 
GeneralRe: Correct usage of reinterpret_cast and static_cast Pin
bob1697213-May-07 2:07
bob1697213-May-07 2:07 
AnswerRe: Correct usage of reinterpret_cast and static_cast Pin
Michael Dunn13-May-07 6:24
sitebuilderMichael Dunn13-May-07 6:24 
GeneralRe: Correct usage of reinterpret_cast and static_cast Pin
Stephen Hewitt13-May-07 14:31
Stephen Hewitt13-May-07 14:31 
GeneralRe: Correct usage of reinterpret_cast and static_cast Pin
bob1697213-May-07 19:41
bob1697213-May-07 19:41 
GeneralRe: Correct usage of reinterpret_cast and static_cast Pin
Stephen Hewitt13-May-07 19:48
Stephen Hewitt13-May-07 19:48 
GeneralRe: Correct usage of reinterpret_cast and static_cast Pin
Stephen Hewitt13-May-07 16:46
Stephen Hewitt13-May-07 16:46 
AnswerRe: Correct usage of reinterpret_cast and static_cast Pin
Stephen Hewitt13-May-07 15:04
Stephen Hewitt13-May-07 15:04 
QuestionVS build/run problem. [modified] Pin
CodeGoose12-May-07 9:01
CodeGoose12-May-07 9:01 
AnswerRe: VS build/run problem. Pin
Hans Dietrich12-May-07 10:55
mentorHans Dietrich12-May-07 10:55 
GeneralRe: VS build/run problem. Pin
CodeGoose12-May-07 13:31
CodeGoose12-May-07 13:31 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.