Re: Using C++11
- From: Chris Vine <chris cvine freeserve co uk>
- To: Murray Cumming <murrayc murrayc com>
- Cc: gtkmm-list gnome org
- Subject: Re: Using C++11
- Date: Tue, 30 Jun 2015 12:16:44 +0100
On Tue, 30 Jun 2015 12:06:46 +0200
Murray Cumming <murrayc murrayc com> wrote:
On Tue, 2015-06-30 at 10:53 +0100, Chris Vine wrote:
On Tue, 30 Jun 2015 08:32:43 +0200
Murray Cumming <murrayc murrayc com> wrote:
On Mon, 2015-06-29 at 19:44 +0100, Chris Vine wrote:
[snip]
Fedora 23, which will use gcc-5.1 with the new ABI, will have to
recompile all its C++ binaries (libraries and programs)[1], for
all versions of C++ those libraries and programs may happen to
use.
[snip]
And would you agree that Ubuntu (for instance) will have to do the
same thing when C++11 (--std=c++11) becomes the default in g++ 6,
when they use g++ 6?
No. Assuming gcc-6 still provides libstdc++ with both ABIs (my
guess is that gcc will do so for a considerable number of
releases), then it would depend on whether ubuntu chooses to use
the new ABI instead of the old one for its C++ binaries.
Isn't Ubuntu likely to make the same choice that Fedora has made, at
least at some point?
Or is Fedora just doing this (using the C++11 libstdc++ API) because
they really like C++11 and want to make the C++11 experience as good
as possible?
I would guess that it is because fedora is a fast moving distribution
and they like to press ahead with what everyone will be doing in a few
years' time.
I doubt it is in order to be especially C++ friendly. The ABI changes
are pretty much irrelevant to the average C++11/14 user. How often does
your code's performance depend on O(1) rather than O(N) complexity of
std::list::size() (and if this does affect performance in a particular
case, why are you using lists in the first place)? And how often does
your code rely on the requirement that non-const operator[]() for a
string may not invalidate iterators into the string (C++03 does permit
that, C++11 does not, and is what rules out copy-on-write)?
For what it is worth, I write all my C++11 code with the old ABI, for
the moment.
Chris
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]