Click here to Skip to main content
15,394,358 members

Welcome to the Lounge

   

For discussing anything related to a software developer's life but is not for programming questions. Got a programming question?

The Lounge is rated Safe For Work. If you're about to post something inappropriate for a shared office environment, then don't post it. No ads, no abuse, and no programming questions. Trolling, (political, climate, religious or whatever) will result in your account being removed.

 
GeneralRe: C Sharps - how are you getting on with nullable reference types? Pin
Greg Utas16-Dec-20 2:17
mveGreg Utas16-Dec-20 2:17 
GeneralRe: C Sharps - how are you getting on with nullable reference types? Pin
Daniel Pfeffer16-Dec-20 4:43
professionalDaniel Pfeffer16-Dec-20 4:43 
GeneralRe: C Sharps - how are you getting on with nullable reference types? Pin
Greg Utas16-Dec-20 5:12
mveGreg Utas16-Dec-20 5:12 
GeneralRe: C Sharps - how are you getting on with nullable reference types? Pin
Mladen Janković16-Dec-20 5:44
MemberMladen Janković16-Dec-20 5:44 
GeneralRe: C Sharps - how are you getting on with nullable reference types? Pin
Greg Utas16-Dec-20 5:49
mveGreg Utas16-Dec-20 5:49 
GeneralRe: C Sharps - how are you getting on with nullable reference types? Pin
Mladen Janković16-Dec-20 5:58
MemberMladen Janković16-Dec-20 5:58 
GeneralRe: C Sharps - how are you getting on with nullable reference types? Pin
Greg Utas16-Dec-20 6:04
mveGreg Utas16-Dec-20 6:04 
GeneralRe: C Sharps - how are you getting on with nullable reference types? Pin
Daniel Pfeffer16-Dec-20 5:54
professionalDaniel Pfeffer16-Dec-20 5:54 
In section [dcl.ref] of the C++ Standard:
A reference shall be initialized to refer to a valid object or function. [ Note: in particular, a null reference cannot exist in a well-defined program, because the only way to create such a reference would be to bind it to the “object” obtained by dereferencing a null pointer, which causes undefined behavior. As described in 9.6, a reference cannot be bound directly to a bit-field. —end note ]

Yes, compilers typically implement references as "pointers with object semantics". This works fine when the reference is valid, but breaks the C++ programming model for a null reference. As I said before, relying on undefined behavior is a bad idea.

I agree that your code will work for many (most? all?) C++ compilers, but that does not mean that it is good code. I reiterate that checking for a program that breaks the C++ programming model should not be done within the bounds of the C++ programming model; a lower-level mechanism must be used.

EDIT: Beaten to the draw by Mladen
Freedom is the freedom to say that two plus two make four. If that is granted, all else follows.
-- 6079 Smith W.

GeneralRe: C Sharps - how are you getting on with nullable reference types? Pin
Mladen Janković16-Dec-20 6:00
MemberMladen Janković16-Dec-20 6:00 
GeneralRe: C Sharps - how are you getting on with nullable reference types? Pin
Greg Utas16-Dec-20 6:08
mveGreg Utas16-Dec-20 6:08 
GeneralRe: C Sharps - how are you getting on with nullable reference types? Pin
Gerry Schmitz16-Dec-20 5:37
mveGerry Schmitz16-Dec-20 5:37 
AnswerRe: C Sharps - how are you getting on with nullable reference types? Pin
PIEBALDconsult16-Dec-20 3:00
professionalPIEBALDconsult16-Dec-20 3:00 
GeneralRe: C Sharps - how are you getting on with nullable reference types? Pin
BabyYoda16-Dec-20 3:20
MemberBabyYoda16-Dec-20 3:20 
AnswerRe: C Sharps - how are you getting on with nullable reference types? Pin
Marc Clifton16-Dec-20 3:35
mvaMarc Clifton16-Dec-20 3:35 
GeneralRe: C Sharps - how are you getting on with nullable reference types? Pin
Jörgen Andersson16-Dec-20 4:30
professionalJörgen Andersson16-Dec-20 4:30 
GeneralRe: C Sharps - how are you getting on with nullable reference types? Pin
lmoelleb16-Dec-20 7:07
Memberlmoelleb16-Dec-20 7:07 
AnswerRe: C Sharps - how are you getting on with nullable reference types? Pin
Jörgen Andersson16-Dec-20 4:27
professionalJörgen Andersson16-Dec-20 4:27 
AnswerRe: C Sharps - how are you getting on with nullable reference types? Pin
Gerry Schmitz16-Dec-20 5:32
mveGerry Schmitz16-Dec-20 5:32 
GeneralRe: C Sharps - how are you getting on with nullable reference types? Pin
lmoelleb16-Dec-20 7:24
Memberlmoelleb16-Dec-20 7:24 
AnswerRe: C Sharps - how are you getting on with nullable reference types? Pin
harold aptroot16-Dec-20 20:24
Memberharold aptroot16-Dec-20 20:24 
AnswerRe: C Sharps - how are you getting on with nullable reference types? Pin
Lorenzo Bertolino16-Dec-20 20:36
professionalLorenzo Bertolino16-Dec-20 20:36 
AnswerRe: C Sharps - how are you getting on with nullable reference types? Pin
Mark Quennell16-Dec-20 22:32
MemberMark Quennell16-Dec-20 22:32 
GeneralRe: C Sharps - how are you getting on with nullable reference types? Pin
Rob Philpott16-Dec-20 22:41
MemberRob Philpott16-Dec-20 22:41 
GeneralRe: C Sharps - how are you getting on with nullable reference types? Pin
Mark Quennell16-Dec-20 22:50
MemberMark Quennell16-Dec-20 22:50 
GeneralRe: C Sharps - how are you getting on with nullable reference types? Pin
Rob Philpott16-Dec-20 23:01
MemberRob Philpott16-Dec-20 23:01 

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.


Straw Poll

Do you feel you fully understand the vision and purpose of the software project you're working on?
Sure you can be told the "what", but do you have the "why"?
  Results   288 votes