Monday, June 6, 2016

Digest for comp.lang.c++@googlegroups.com - 25 updates in 6 topics

Lynn McGuire <lmc@winsim.com>: Jun 06 03:55PM -0500

"C++17 is taking shape"
http://sdtimes.com/c17-taking-shape/
 
Lynn
Real Troll <real.troll@trolls.com>: Jun 06 10:03PM +0100

On 06/06/2016 21:55, Lynn McGuire wrote:
> "C++17 is taking shape"
> http://sdtimes.com/c17-taking-shape/
 
> Lynn
 
I am getting excited here. Do you know what are the main changes and
which tool has already started implementing these changes. Is VS2015
ready for it?
"J. Clarke" <j.clarke.873638@gmail.com>: Jun 06 05:23AM -0400

In article <8b2721ec-382d-4d9c-bc2f-f6613324cf16@googlegroups.com>,
woodbrian77@gmail.com says...
 
> Brian
> Ebenezer Enterprises
> http://webEbenezer.net
 
So our duty is to keep increasing the population until we run out of
food and everybody dies?
 
How many kids do you have and by how many women?
Vir Campestris <vir.campestris@invalid.invalid>: Jun 06 09:14PM +0100

On 06/06/2016 10:23, J. Clarke wrote:
> So our duty is to keep increasing the population until we run out of
> food and everybody dies?
 
"Go forth, and multiply, and fill the earth, it says. Surely there comes
a time when it is filled?"
 
(Isaac Asimov)
maddoxr@acm.org: Jun 06 01:12PM -0700

On Thursday, May 26, 2016 at 10:33:52 AM UTC-4, Alf P. Steinbach wrote:
 
> And of course, AHA! – Avoid Hare-brained Abbreviations!
 
> - Alf
> forwarding his own Facebook-posting to a wider audience
 
Missed my favorite: SWYM - Say What You Mean. We always used to say "SWYM DRY!".
Jerry Stuckle <jstucklex@attglobal.net>: Jun 05 10:31PM -0400

On 6/5/2016 4:30 PM, Alf P. Steinbach wrote:
 
> Uhm, this view isn't factually incorrect, but it's irrelevant.
 
> We were talking about Microsoft's Hungarian notation, which was the
> first (and hopefully only ever) widespread use of it.
 
The comment was about Hungarian notation in general. And it was used in
some languages even back in the 70's. Some COBOL programmers have used
it; I first ran into it seriously when doing some PL/1 work around 1980.
But it was not new to the people I was working with at the time.
 
> Hungarian, or that Hungarian sounds like Greek to most people, and
> invented a silly explanation about the order of first name and surname
> in Hungarian – such is the standard of this Wikipedia article.
 
There is the truth, and there is Wikipedia. *Sometimes* the two coincide.
 
> at the start of his "Programming Windows" book, which introduced it to
> the masses via the Windows programmers. I think it's not so important
> that Petzold also used it, but you're right that he did.
 
Later, yes. But not when he first used it.
 
And Windows programmers are not the only programmers in the world - and
weren't at that time, either.
 
 
> Cheers & hth.,
 
> - Alf
 
> PS: Please don't quote signatures or other irrelevant stuff, thanks! :)
 
Then correct your sig separator. It should be *exactly*
hyphen-hyphen-space-newline.
 
 
 
--
==================
Remove the "x" from my email address
Jerry Stuckle
jstucklex@attglobal.net
==================
"Alf P. Steinbach" <alf.p.steinbach+usenet@gmail.com>: Jun 06 10:59AM +0200

On 06.06.2016 04:31, Jerry Stuckle wrote:
 
>> PS: Please don't quote signatures or other irrelevant stuff, thanks! :)
 
> Then correct your sig separator. It should be *exactly*
> hyphen-hyphen-space-newline.
 
I don't have a sig separator now. At one time I did, and my signature
ended up in a database FAQ (of all things) and some Usenet how-to's. One
reason I'm not using a signature now is that Google Groups, probably
intentionally, messes it up, so that not everybody can follow that
convention.
 
Regardless, you're now behaving in a way that has similarities with
asshole behavior.
 
 
Cheers & hth.,
 
- Alf
Jerry Stuckle <jstucklex@attglobal.net>: Jun 06 08:42AM -0400

On 6/6/2016 4:59 AM, Alf P. Steinbach wrote:
> asshole behavior.
 
> Cheers & hth.,
 
> - Alf
 
Yes, by not following the RFC's and then complaining about others, you
are behaving as an asshole.
 
See https://www.ietf.org/rfc/rfc3676.txt section 4.3.
 
And if Google Groups messes it up, that's your problem. Get a real news
reader.
 
--
==================
Remove the "x" from my email address
Jerry Stuckle
jstucklex@attglobal.net
==================
"Alf P. Steinbach" <alf.p.steinbach+usenet@gmail.com>: Jun 06 03:27PM +0200

On 06.06.2016 14:42, Jerry Stuckle wrote:
 
> See https://www.ietf.org/rfc/rfc3676.txt section 4.3.
 
> And if Google Groups messes it up, that's your problem. Get a real news
> reader.
 
In addition to persisting to behave in an asshole-like way, you here
submit evidence that you don't read very carefully what others write.
 
To find out which server I'm posting from, and which news client I'm
using, you can simply check the headers.
 
I think you will have a much more pleasant & fruitful Usenet experience
if you stop treating most everyone as adversaries or enemies. My 3c. ;-)
 
 
Cheers & hth.,
 
- Alf
Jerry Stuckle <jstucklex@attglobal.net>: Jun 06 10:10AM -0400

On 6/6/2016 9:27 AM, Alf P. Steinbach wrote:
> if you stop treating most everyone as adversaries or enemies. My 3c. ;-)
 
> Cheers & hth.,
 
> - Alf
 
You're the one who claimed Google Groups messes up your sig, not me.
 
And since you're using a real news reader on ES, you have no excuse for
violating the RFC's (not that you would, anyway), except that you are an
asshole.
 
And I'm not the one who complained because your sig is incorrect. Plus
I'm not the one who started with the asshole comments.
 
Take your own medicine.
 
 
--
==================
Remove the "x" from my email address
Jerry Stuckle
jstucklex@attglobal.net
==================
Mr Flibble <flibbleREMOVETHISBIT@i42.co.uk>: Jun 06 05:42PM +0100

On 06/06/2016 15:10, Jerry Stuckle wrote:
> And I'm not the one who complained because your sig is incorrect. Plus
> I'm not the one who started with the asshole comments.
 
You a pathological liar aren't you mate? I can see *your* complaint
right now, on my screen, in black and white:
 
"On 06.06.2016 04:31, Jerry Stuckle wrote:
> Then correct your sig separator. It should be *exactly*
> hyphen-hyphen-space-newline."
 
So *why* are you a pathological liar? Is it simply a really egregious
personality trait or are you mentally ill? Perhaps you should see a doctor?
 
/Flibble
Jerry Stuckle <jstucklex@attglobal.net>: Jun 06 01:06PM -0400

On 6/6/2016 12:42 PM, Mr Flibble wrote:
 
> So *why* are you a pathological liar? Is it simply a really egregious
> personality trait or are you mentally ill? Perhaps you should see a doctor?
 
> /Flibble
 
Yup, I told him what was wrong with his sig. And I did not call him an
asshole.
 
But you once again show your inability to read.
 
--
==================
Remove the "x" from my email address
Jerry Stuckle
jstucklex@attglobal.net
==================
Mr Flibble <flibbleREMOVETHISBIT@i42.co.uk>: Jun 06 06:19PM +0100

On 06/06/2016 18:06, Jerry Stuckle wrote:
 
> Yup, I told him what was wrong with his sig. And I did not call him an
> asshole.
 
> But you once again show your inability to read.
 
What? You didn't call him an asshole? Another bare faced lie!
 
"On 06.06.2016 14:42, Jerry Stuckle wrote:
> Yes, by not following the RFC's and then complaining about others, you
> are behaving as an asshole."
 
I can only conclude at this point that you are either:
 
a) a troll (but an incredibly stupid one who doesn't get that what you
say on the Internet stays on the Internet)
 
or:
 
b) mentally ill.
 
I am leaning toward (b). Mate, seek professional help.
 
/Flibble
Jerry Stuckle <jstucklex@attglobal.net>: Jun 06 03:05PM -0400

On 6/6/2016 1:19 PM, Mr Flibble wrote:
>> asshole.
 
>> But you once again show your inability to read.
 
> What? You didn't call him an asshole? Another bare faced lie!
 
Yes, but look at the message I responded to. But you can't read, can you?
 
 
> b) mentally ill.
 
> I am leaning toward (b). Mate, seek professional help.
 
> /Flibble
 
We already know you are just a troll. And a very stoopid one, at that.
 
--
==================
Remove the "x" from my email address
Jerry Stuckle
jstucklex@attglobal.net
==================
Vir Campestris <vir.campestris@invalid.invalid>: Jun 06 09:12PM +0100

On 05/06/2016 21:30, Alf P. Steinbach wrote:
> or that Hungarian sounds like Greek to most people
 
Speaking as someone who knows neither language - odd bits of Greek make
sense, which is no surprise as it's one of the languages that ended up
feeding into modern English.
 
Whereas Hungarian ... is different. Not even closely related IIRC.
 
My 2p worth on the original debate - Hungarian notation becomes unusable
with C++ and all the new types, and redundant with modern IDEs. Though
some of my colleagues insist on using Vi...
 
Andy
"Rick C. Hodgin" <rick.c.hodgin@gmail.com>: Jun 06 05:53AM -0700

I was trying to do this today, and it's not allowed in Microsoft's C++
compiler:
 
// In header file
int myfunc(int val1, int val2 = val1);
 
// In source file
int myfunc(int val1, int val2)
{
// Code goes here
}
 
Is it allowed? And if not, why not? The value would be known at compile-
time and could be easily populated.
 
Best regards,
Rick C. Hodgin
Ben Bacarisse <ben.usenet@bsb.me.uk>: Jun 06 02:13PM +0100

> // Code goes here
> }
 
> Is it allowed?
 
Yes, it's allowed. What is the error message?
 
<snip>
--
Ben.
"Rick C. Hodgin" <rick.c.hodgin@gmail.com>: Jun 06 06:19AM -0700

On Monday, June 6, 2016 at 9:13:18 AM UTC-4, Ben Bacarisse wrote:
> > }
 
> > Is it allowed?
 
> Yes, it's allowed. What is the error message?
 
In VS2010 (100 toolset):
 
"error C2587: 'val1' : illegal use of local variable as default parameter."
 
In VS2015 (140 toolset):
 
"error C2587: 'val1' : illegal use of local variable as default parameter."
 
Best regards,
Rick C. Hodgin
Alain Ketterlin <alain@universite-de-strasbourg.fr.invalid>: Jun 06 03:24PM +0200

>> }
 
>> Is it allowed?
 
> Yes, it's allowed. What is the error message?
 
It's not allowed. From N4296, §8.3.6p9:
 
| A default argument is evaluated each time the function is called with
| no argument for the corresponding parameter. The order of evaluation
| of function arguments is unspecified. Consequently, parameters of a
| function shall not be used in a default argument, even if they are not
| evaluated. Parameters of a function declared before a default argument
| are in scope and can hide namespace and class member names. [ Example:
|
| int a;
| int f(int a, int b = a);
| // error: parameter a
| // used as default argument
| [...]]
 
-- Alain.
Ben Bacarisse <ben.usenet@bsb.me.uk>: Jun 06 02:26PM +0100


> In VS2010 (100 toolset):
 
> "error C2587: 'val1' : illegal use of local variable as default
> parameter."
 
Ah, I did not spot that val1 was a previous argument. No, that is not
allowed. From 8.3.6 p9:
 
"Default arguments are evaluated each time the function is called. The
order of evaluation of function arguments is unspecified. Consequently,
parameters of a function shall not be used in a default argument, even
if they are not evaluated."
 
<snip>
--
Ben.
Ben Bacarisse <ben.usenet@bsb.me.uk>: Jun 06 02:27PM +0100

>> }
 
>> Is it allowed?
 
> Yes, it's allowed.
 
I need to correct myself to keep the record straight. It's not
allowed. I did not spot the fact that val1 is a previous argument.
 
--
Ben.
Martin Shobe <martin.a.shobe@outlook.com>: Jun 06 08:29AM -0500

On 6/6/2016 8:13 AM, Ben Bacarisse wrote:
>> }
 
>> Is it allowed?
 
> Yes, it's allowed. What is the error message?
 
Really? I thought that function parameters could only be used if they
were unevaluated (and before c++14, not at all). Have I missed something?
 
Martin Shobe
"Alf P. Steinbach" <alf.p.steinbach+usenet@gmail.com>: Jun 06 03:40PM +0200

On 06.06.2016 14:53, Rick C. Hodgin wrote:
> // Code goes here
> }
 
> Is it allowed?
 
Nope.
 
 
> And if not, why not?
 
I am not sure, except that the default argument value mechanism on the
whole gives the impression of being an ad-hoc feature.
 
The standard mumbles something about unspecified order of argument
initialization, but if the above was supported it would simply impose a
constraint on the order of argument initialization for calls using the
default(s).
 
Evidence of ad-hoc nature of the feature: you can move the "= something"
from the header file declaration to the implementation, and as far as
the rules of C++ are concerned that's OK. But then in general the
compiler can't see the "= something" when it compiles a call to the
function from another TU. And hence the default would be of no general
value, it would not be usable outside the implementation file.
 
Worse, in my opinion: in a class you can't do e.g.
 
struct S
{
int x;
void foo( int t = x ) {} //! Nyet.
};
 
Which surely has nothing to do with argument initialization order.
 
It's not difficult to work around that, to do the compiler's job for it,
so to speak, but why oh why is it that way?
 
I have no good explanation, other than that the feature seems ad hoc.
 
 
> The value would be known at compile-time and could be easily populated.
 
Yes.
 
 
Cheers, and sorry that this can't be much help!,
 
- Alf
Bo Persson <bop@gmb.dk>: Jun 06 04:57PM +0200

On 2016-06-06 15:27, Ben Bacarisse wrote:
 
>> Yes, it's allowed.
 
> I need to correct myself to keep the record straight. It's not
> allowed. I did not spot the fact that val1 is a previous argument.
 
However, an easy workaround is to add an overload
 
inline int myfunc(int val1)
{ return myfunc(val1, val1); }
 
 
 
Bo Persson
Jorgen Grahn <grahn+nntp@snipabacken.se>: Jun 06 09:21AM

On Tue, 2016-05-31, Richard wrote:
> no@notvalid.com spake the secret code
> <Nqk3z.57776$QN2.14989@fx40.am4> thusly:
 
[JN, about it being silly to complain about long C++ compile times]
 
>>problem never. Was a bit slow in 90 s but today its not slow with the
>>same (kind of) projects as the computers are very fast.
 
> It depends on how well you have cared for your build system over time.
...
 
> build, you might not notice compile times. If you have a poorly
> structured build, you might be incorrectly blaming the language for
> your experience.
 
Another agreement here. I've seen a lot of long build times, and the
killer has always been incremental builds not working, or not being
trusted. And/or parallel builds not working.
 
It's not just the /time/. If a rebuild only compiles things that
/need/ to be recompiled, I get a better feel for what I'm doing.
 
But I don't mind compiling for 20 minutes, if it happens once a week.
 
> Let's make this concrete with an example. I have worked on projects
> where it was considered a "good thing" to put all extern function
> declarations in a single header file.
 
Uh-oh ...
 
[snip]
 
/Jorgen
 
--
// Jorgen Grahn <grahn@ Oo o. . .
\X/ snipabacken.se> O o .
You received this digest because you're subscribed to updates for this group. You can change your settings on the group membership page.
To unsubscribe from this group and stop receiving emails from it send an email to comp.lang.c+++unsubscribe@googlegroups.com.

No comments: