3

I was reading through the C++03 standard and noticed the usage of "Clause 10". Example:

8.5.1 Aggregates [dcl.init.aggr]

  1. An aggregate is an array or a class (clause 9) with no user-declared constructors (12.1), no private or protected non-static data members (clause 11), no base classes (clause 10), and no virtual functions (10.3).

There is also Clause 9 and Clause 11. What does this mean, is it referring to some other section in the standard?

void.pointer
  • 24,859
  • 31
  • 132
  • 243
  • 1
    In the pdf, you can click on the 10 and it takes you to section `10 Derived classes [class.derived]` – Mooing Duck May 29 '12 at 17:01
  • 1
    @Joshua: or passed introductory contract law. http://dictionary.reference.com/browse/clause – Steve Jessop May 29 '12 at 17:12
  • 1
    There is a standard for standards! It says that you should use Clause, and not section or chapter. – Bo Persson May 29 '12 at 17:16
  • That just means contract lawyers as a group have failed grammar. No wonder legalese is so hard to read. – Joshua May 29 '12 at 21:10
  • 2
    @Joshua: you may have difficulty with the concept of a word with two distinct meanings, but in English you have no choice but to roll with it. Nobody failed any grammar. – Steve Jessop May 30 '12 at 08:28

2 Answers2

9

The clause is the topmost hierarchical thingy, i.e., clause 10 is §10. Informally people refer to those as "sections", but the standard calls them "clauses".

R. Martinho Fernandes
  • 228,013
  • 71
  • 433
  • 510
  • 4
    Specifically, clause 10 is the section that begins on page 167 and is titled "`10 Derived classes [class.derived]`". – Robᵩ May 29 '12 at 17:01
1

What does this mean, is it referring to some other section in the standard?

Yes, it refers to the "chapters". Eg. Clause 9 Classes.

jpalecek
  • 47,058
  • 7
  • 102
  • 144