Standardization
Key Focus:
WG21 Structure:
- C++ standardization is managed by Working Group 21 (WG21).
- Divided into three stages:
- Stage 3: Finalizes wording (Core Language Working Group, CWG; Library Working Group, LWG).
- Stage 2: Evolves language/library features (EWG for core language, LEWG for libraries).
- Stage 1: Domain-specific research via Study Groups (SGs).
- Study Groups (e.g., SG1 for concurrency, SG6 for numerics) incubate proposals before formal review.
Challenges:
- Understanding the roles of Study Groups (e.g., SG15 for tooling, SG16 for Unicode).
- Distinguishing between stages (e.g., Stage 1 vs. Stage 2 responsibilities).
- Recognizing the impact of domain-specific SGs (e.g., SG21 for Contracts, SG22 for C/C++ liaison).
Multiple-Choice Questions
Question 1
Which of the following are responsibilities of Stage 3 in the C++ standardization process?
A. Reviewing domain-specific proposals
B. Finalizing core language wording
C. Approving library evolution
D. Ensuring consistency in technical documentation
Question 2
Which Study Groups are directly involved in concurrency and parallelism?
A. SG1
B. SG7
C. SG14
D. SG21
Question 3
What distinguishes Stage 1 from Stage 2?
A. Stage 1 handles wording finalization.
B. Stage 2 focuses on domain-specific incubation.
C. Stage 1 involves Study Groups for early research.
D. Stage 2 approves language/library evolution proposals.
Question 4
Which Study Groups are related to tooling and Unicode?
A. SG15
B. SG16
C. SG18
D. SG20
Question 5
True or False: The Library Evolution Working Group (LEWG) is part of Stage 2.
A. True
B. False
Question 6
Which of the following are NOT valid Study Groups?
A. SG3 (File System)
B. SG9 (Ranges)
C. SG12 (Undefined Behavior & Vulnerabilities)
D. SG19 (Quantum Computing)
Question 7
What is the role of SG22?
A. Coordinate between C and C++ standards
B. Design contracts for code correctness
C. Develop networking libraries
D. Improve low-latency programming
Question 8
Which stages require collaboration with EWG or LEWG?
A. Stage 1
B. Stage 2
C. Stage 3
D. All stages
Question 9
Which Study Group focuses on compile-time programming?
A. SG6
B. SG7
C. SG8
D. SG9
Question 10
What is a key output of Stage 3?
A. Feature proposals
B. Approved technical specifications
C. Finalized standard draft
D. Domain-specific research papers
Answers & Explanations
B, D
- Stage 3 finalizes wording (B) and ensures documentation consistency (D). Stage 1 handles domain proposals (A), and Stage 2 approves library evolution ©.
A
- SG1 handles concurrency. SG7 (compile-time), SG14 (low-latency), and SG21 (Contracts) are unrelated.
C, D
- Stage 1 uses Study Groups ©, while Stage 2 approves evolution (D). Stage 3 handles wording (A), and Stage 2 does not focus on incubation (B).
A, B
- SG15 (tooling) and SG16 (Unicode). SG18 (LEWG incubator) and SG20 (education) are unrelated.
A
- LEWG is part of Stage 2, which handles library evolution.
D
- SG19 focuses on machine learning, not quantum computing. SG3, SG9, and SG12 are valid.
A
- SG22 coordinates C/C++ standards. Contracts (B) are SG21, networking © is SG4, and low-latency (D) is SG14.
B
- EWG/LEWG are Stage 2 groups. Stage 1 uses SGs, and Stage 3 uses CWG/LWG.
B
- SG7 focuses on compile-time programming. SG6 (numerics), SG8 (Concepts), and SG9 (Ranges) are unrelated.
C
- Stage 3 produces the finalized standard draft. Proposals (A) and specifications (B) are Stage 2 outputs; research (D) is Stage 1.