This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
Re: C++11 final classes
- From: Jonathan Wakely <jwakely dot gcc at gmail dot com>
- To: Florian Weimer <fweimer at redhat dot com>
- Cc: "gcc-help at gcc dot gnu dot org" <gcc-help at gcc dot gnu dot org>
- Date: Mon, 14 Oct 2013 11:17:32 +0100
- Subject: Re: C++11 final classes
- Authentication-results: sourceware.org; auth=none
- References: <525BB896 dot 1020400 at redhat dot com> <CAH6eHdTiEvycFPefQUY7EO6kSNdmg9HhWaycrOLvR5dJnMwg2A at mail dot gmail dot com>
On 14 October 2013 11:15, Jonathan Wakely wrote:
> On 14 October 2013 10:25, Florian Weimer wrote:
>> Are C++11 final classes really final, or is it still possible to define a
>> derived class through some hack without violating language rules?
>>
>> It seems we devirtualize calls to virtual members of final classes in some
>> cases, so I assume final is really final, but I'm not sure. :-)
>
> It's intended to be really final, so devirtualization is allowed.
I say "intended" because people manage to do some highly unexpected
things within the rules of the language, but I haven't seen any ways
of "breaking" final, and I think they'd be against the spirit of the
standard, if not the letter.