Monday, September 12, 2016

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

"Alf P. Steinbach" <alf.p.steinbach+usenet@gmail.com>: Sep 12 08:53AM +0200

On 11.09.2016 19:55, Tim Rentsch wrote:
 
> Let me emphasize that the above represents my best understanding,
> and only that, and which may in fact be wrong if there is something
> I have missed.
 
Only the exceedingly obvious: the context, given in the title of this
thread.
 
Cheers & hth!, :-)
 
- Alf
Tim Rentsch <txr@alumni.caltech.edu>: Sep 12 06:40AM -0700

>> I have missed.
 
> Only the exceedingly obvious: the context, given in the title of this
> thread.
 
Forgive me for being dense, but I don't see what the Subject:
line has to do with the question I'm asking. My concern is
only whether a conforming implementation may define the wchar_t
type to be smaller (eg, 16 bits) than what would be needed if
wchar_t had to be able to represent all Unicode code points in
a single wchar_t object.
David Brown <david.brown@hesbynett.no>: Sep 12 04:16PM +0200

On 12/09/16 15:40, Tim Rentsch wrote:
> type to be smaller (eg, 16 bits) than what would be needed if
> wchar_t had to be able to represent all Unicode code points in
> a single wchar_t object.
 
I think the point is that wchar_t has to be wide enough to support all
the characters of the implementation's execution set. Windows supports
UTF-16, including characters that require more than one code unit with
UTF-16 encoding. Therefore, 16-bit wchar_t is not sufficient to support
all the characters in a Win32 C++ implementation, so having 16-bit
wchar_t is non-conforming on Win32. (It /was/ conforming in the early
days of Win32, with UCS-2 character encoding - but not now, with UTF-16.)
Vir Campestris <vir.campestris@invalid.invalid>: Sep 12 09:19PM +0100

On 11/09/2016 12:51, David Brown wrote:
> There are good reasons for UTF-8 being the most common encoding on the
> net, even in those countries.
 
The servers are probably running Linux?
 
Mind, what is embedded has changed. Once I worked on mainframes with a
megabyte. These days our "embedded" platform (no keyboard, no display -
but it does have a camera) has 256Mb. And runs Android.
 
Andy
"Rick C. Hodgin" <rick.c.hodgin@gmail.com>: Sep 12 08:12AM -0700

Oh the blood ... it is my victory
 
No other way. No other name but through the blood sacrifice of Jesus
Christ, God Almighty. In Him, we achieve all things:
 
https://www.youtube.com/watch?v=kC59rgmcu34
 
Lyrics:
 
http://www.songlyrics.com/gateway-worship/o-the-blood-lyrics/#cselebx2VFVh8dPJ.99

Verse 1:
O the blood
Crimson love
Price of life's demand
Shameful sin
Placed on Him
The hope of every man

[Chorus:]
O the Blood of Jesus washes me
O the Blood of Jesus shed for me
What a sacrifice that saved my life
Yes the blood it is my victory

Verse 2:
Savior Son
Holy One
Slain so I can live
See the Lamb
The Great I Am
Who takes away my sin

[Chorus]

Bridge:
O the Blood of the Lamb
O the Blood of the Lamb
O the Blood of the Lamb
The precious Blood of the Lamb
What a sacrifice
That saved my life
Yes the Blood it is my victory

Verse 3:
O what love
No greater love
Grace how can it be
That in my sin
Yes even then
He shed His blood for me

[Chorus]

What a sacrifice that saved my life
Yes the blood it is my victory
 
Best regards,
Rick C. Hodgin
"Rick C. Hodgin" <rick.c.hodgin@gmail.com>: Sep 12 12:08PM -0700

On Monday, September 12, 2016, Rick C. Hodgin wrote:
> https://www.youtube.com/watch?v=kC59rgmcu34
 
> Lyrics:
> http://www.songlyrics.com/gateway-worship/o-the-blood-lyrics/#cselebx2VFVh8dPJ.99
 
Here's a powerful sermon that teaches us about Jesus Christ and our need
of salvation. This pastor is sometimes very passionate. :-)
 
Sermon entitled, "The Lord's Prayer"
https://www.youtube.com/watch?v=pupPSlzZmkw
 
-----
Some highlights:
 
Seek truthfully and you will find out He's real:
https://www.youtube.com/watch?v=pupPSlzZmkw&t=29m36s
 
He doesn't force Himself into your life, but knocks continually:
https://www.youtube.com/watch?v=pupPSlzZmkw&t=31m09s
 
What comes after your someday appointment with death?
https://www.youtube.com/watch?v=pupPSlzZmkw&t=9m49s
 
What do you do when your personal beliefs fail you?
https://www.youtube.com/watch?v=pupPSlzZmkw&t=10m29s
 
Where's Hell?
https://www.youtube.com/watch?v=pupPSlzZmkw&t=10m54s
 
Are you guiltless?
https://www.youtube.com/watch?v=pupPSlzZmkw&t=12m59s
 
It's not what you do, it's Who you know:
https://www.youtube.com/watch?v=pupPSlzZmkw&t=13m49s
 
Without the new birth you're completely dead to God:
https://www.youtube.com/watch?v=pupPSlzZmkw&t=17m9s
 
Horrible apostasy in our society (effeminate):
https://www.youtube.com/watch?v=pupPSlzZmkw&t=20m11s
 
Promiscuity:
https://www.youtube.com/watch?v=pupPSlzZmkw&t=23m39s
 
-----
Here's one from yesterday. Ever wonder who the enemy is? He is Lucifer,
Satan (accuser) by name. But who is he? Why is he so powerful?
 
"#5 Lucifer: Satan, The Former Cherub"
https://www.youtube.com/watch?v=_GNCDGoYwls
 
Here's a related sermon which talks about the invisible war going on
around us. We can't see the enemy (Lucifer/Satan), but we can see his
handiwork in the hate and death all over this world. Jesus shows us
the way (the only way) out of that hate and death, because only Jesus
gives us the new birth, the forgiveness of sin, the ability to be
completely set free from the enemy's lies and deception:
 
The Invisible War
https://www.youtube.com/watch?v=UDVWvOQvlK8
 
This is one of my favorite sermons of all time. It teaches us so much
about who our enemy is, and why so many people in the world are doing
nonstop evil/bad things.
 
Best regards,
Rick C. Hodgin
Kan <fcantoro@nospam.it>: Sep 12 06:26PM +0200

Il 05/09/2016 20:56, Lynn McGuire ha scritto:
> }
 
> Sincerely,
> Lynn McGuire
 
If you really want to use a vector and a loop, without using std::remove
as suggested, you could also loop with iterator instead of index and use
the return value of std::vector::erase:
 
int DataItem::removeOwner(DataGroup * ownerDG)
{
for (auto it = owners.begin(); it != owners.end(); )
{
if (*it == ownerDG)
{
it = owners.erase(it);
}
else
{
++it;
}
}
}
Juha Nieminen <nospam@thanks.invalid>: Sep 12 12:13PM

> Objective-C++ are almost entirely used for Mac-only and iThingy
> software. Emacs is most popular for people doing *nix development. So
> are there many people doing iThingy development using emacs as their IDE?
 
Me.
 
--- news://freenews.netfront.net/ - complaints: news@netfront.net ---
David Brown <david.brown@hesbynett.no>: Sep 12 02:58PM +0200

On 12/09/16 14:13, Juha Nieminen wrote:
>> software. Emacs is most popular for people doing *nix development. So
>> are there many people doing iThingy development using emacs as their IDE?
 
> Me.
 
I guess I asked for that!
 
But is there anyone else? Are there many people looking for this support?
 
Of course, maybe there would be more people using this combination if it
was well supported.
"Öö Tiib" <ootiib@hot.ee>: Sep 12 06:59AM -0700

On Monday, 12 September 2016 15:58:45 UTC+3, David Brown wrote:
 
> > Me.
 
> I guess I asked for that!
 
> But is there anyone else? Are there many people looking for this support?
 
There is always someone who edits Objective-C++ with ed or vim or
emacs. If for nothing else then for making it to look more complicated
from side. Sure they want good syntax highlighting and context-aware
autocomplete if possible.
 
> Of course, maybe there would be more people using this combination if it
> was well supported.
 
The appcode (JetBrains) and xcode (Apple) remain more convenient
choices anyway.
"Alf P. Steinbach" <alf.p.steinbach+usenet@gmail.com>: Sep 12 09:06AM +0200

On 12.09.2016 03:01, Stefan Ram wrote:
> whenever possible since it is using the "uniform initialization
> syntax", so it would be easy and tidy to use the same
> notation whenever possible.
 
Not quite the same. E.g. `std::string s{5, 'x'};` does not mean the same
as `std::string s(5, 'x');`. It's difficult (impossible?) to express the
latter with direct initialization with braces.
 
 
> But now I became aware of this idea:
 
> Explicit conversions are not used for copy-initialization.
 
Right.
 
 
> Since explicit conversions are deemed to be somewhat
> "dangerous" or "risky",
 
By whom?
 
 
> they should be avoided unless the programmer is sure that he wants them.
 
Hm.
 
 
> So, it would be better to use copy-initialization as often
> as possible because this has the effect of avoiding the
> "dangerous" explicit conversions?
 
They're not dangerous, they're just undesirable as implicit conversions.
 
 
Cheers & hth.,
 
- Alf
"Alf P. Steinbach" <alf.p.steinbach+usenet@gmail.com>: Sep 12 02:59PM +0200

On 12.09.2016 12:38, Stefan Ram wrote:
 
> T x = e;
 
> both are possible and have the same effective semantics.
> Which do you choose then and why?
 
I prefer the "=" notation because it stands out visually.
 
• • •
 
If `T`is `U const` then I write that as
 
auto const x = U( e );
 
And I also use `auto` when the right hand side is named cast notation
(mention of the type), or where `explicit` constructors necessitate it.
 
• • •
 
As a concrete example, consider
 
#include <stdexcept>
using namespace std;
 
auto main() -> int
{
logic_error a{ "ah!" };
auto b = logic_error{ "bah!" };
 
logic_error c = "crap!";
}
 
Here the crappy declaration of `c` fails to compile, because both
eligible constructors are `explicit`.
 
 
Cheers & hth.,
 
- Alf
ram@zedat.fu-berlin.de (Stefan Ram): Sep 12 01:01AM

I once had the idea of using direct-list-initialization
whenever possible since it is using the "uniform initialization
syntax", so it would be easy and tidy to use the same
notation whenever possible.
 
But now I became aware of this idea:
 
Explicit conversions are not used for copy-initialization.
Since explicit conversions are deemed to be somewhat
"dangerous" or "risky", they should be avoided unless the
programmer is sure that he wants them.
 
So, it would be better to use copy-initialization as often
as possible because this has the effect of avoiding the
"dangerous" explicit conversions?
ram@zedat.fu-berlin.de (Stefan Ram): Sep 12 10:38AM

>>Since explicit conversions are deemed to be somewhat
>>"dangerous" or "risky",
>By whom?
 
It can be dangerous if they happen unintendedly, therefore
they are made "explicit".
 
>They're not dangerous, they're just undesirable as implicit conversions.
 
So, sometimes
 
T x{ e };
 
and
 
T x = e;
 
both are possible and have the same effective semantics.
Which do you choose then and why?
 
»T« is a type, »x« is a name, and »e« is an expression.
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: