Talk:cpp/language/storage duration


Why is register depricated?? 07:03, 7 November 2012 (PST)

It is deprecated in the current C++ standard, per paragraphs §7.1.1[]/3 and §D.2[depr.register]. As for why, it's likely because most (all?) existing C++ compilers completely ignore this keyword, and have been for many years. Or, to quote Herb Sutter, It's exactly as meaningful as whitespace. (note that it's not so in the C programming language, where register changes the program semantics) --Cubbi 07:37, 7 November 2012 (PST)

In "external linkage", at the bullet "variables and functions, not listed above (that is, not declared static, and const-qualified but not extern)" the text in the parentheses looks a bit ambiguous. Maybe I'm wrong, but was it meant to be "(that is, not declared static, and non const-qualified)" or something along these lines? --Blastofftek (talk) 02:54, 26 December 2014 (PST)

attempted rewording, better? --Cubbi (talk) 06:18, 26 December 2014 (PST)
Yes, it's perfectly clear now. Thanks --Blastofftek (talk) 06:08, 30 December 2014 (PST)

[edit] extern declares

Maybe it might also be explicitly stated in Explanation/4) that extern only declares the name, but does not define it (unless an initializer is given). I don't know if this might clutter the explanation, but I think it is important to point out when someone searches for the effects of using the extern keyword. PapaNappa (talk) 07:10, 2 October 2015 (PDT)

it is made more obvious in cpp/language/definition (the first bullet point there), but I agree that someone trying to understand the meaning of a line of code that begins with "extern" would end up here. It's also true that this page is already more cluttered than it needs to be. I added a brief note, but will think about restructuring this.. or at least inserting micro-examples to explain the points. --Cubbi (talk) 07:36, 2 October 2015 (PDT)