Victor Bazarov
unread,Jun 28, 2015, 11:56:17 AM6/28/15You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to
On 6/28/2015 11:34 AM, Stefan Ram wrote:
> Just for fun I'd like to point out that the term of
> »concrete class« might have changed in Lippman's
> »C++ primer«.
>
> The edition of 2005 still defines:
>
> »A concrete class is a class that exposes,
> rather than hides, its implementation.«.
>
> This seems to comply with Stroustrups notion of »concrete
> types« (and »concrete class« in that context).
>
> But a more recent 5th edition of the »C++ primer« now seems
> to use »concrete class« in the other sense of »a class that
> is not an abstract class«, although it possibly does not
> give an explicit definition for this term anymore.
>
> A class that is not concrete but owns ressources sometimes
> is called a »resource handle«. I would use this term for
> ::std::unique_ptr, but not for ::std::string, because in
> the case of the former handling the resource is the primary
> task, but in the case of the latter the resources is just
> a means to be a variable-length (mutable) string.
>
> What kind of classes are out there?
>
> POD class
> primitive class
> regular class
> trivially copyable type
> trivial type
> standard-layout type
> canonical class
> concrete class (a term with at least two different meanings)
> abstract class
> literal class
> resource handle class
> class with value semantics
> class with reference semantics
> constexpr class
>
> Any other kind that comes to your mind?
Empty class (sometimes used to denote a type that is different from any
other type in your program).
V
--
I do not respond to top-posted replies, please don't ask