A few weeks ago, I created a survey asking our C++Builder customers and CodeRage 7 C++ conference registrants to rank order their favorite C++11 language and library features. Thank you to all of those who have taken the survey so far.
The ranked survey results [1] as of December 3, 2012 are:
| C++11 Feature | ISO-C++11 Doc |
|---|---|
| auto-typed variables | N1984 |
| Initializer lists | N2672 |
| Rvalue references | N2118 |
| Non-static data member initializers | N2756 |
| Initialization of class objects by rvalues | N1610 |
| Variadic templates | N2242 |
| Lambda Expressions | N2927 |
| Static assertions | N1720 |
| Rvalue references for *this | N2439 |
| Extending variadic template template parameters | N2555 |
| Multi-declarator auto | N1737 |
| Null pointer constant | N2431 |
| Strongly-typed enums | N2347 |
| Declared type of an expression | N2343 |
| Removal of auto as a storage-class specifier | N2546 |
| New function declarator syntax | N2541 |
| Range-based for | N2930 |
| Default template arguments for function templates | DR226 |
| Forward declarations for enums | N2764 |
| Delegating constructors | N1986 |
| Inheriting constructors [2] | N2540 |
| Right angle brackets | N1757 |
| Unicode string literals | N2442 |
| Incomplete return types | N3276 |
| Explicit conversion operators | N2437 |
| Templates Aliases | N2258 |
| Solving the SFINAE problem for expressions | N2634 |
| Raw string literals | N2442 |
| Generalized attributes | N2761 |
| Generalized constant expressions | N2235 |
| Alignment support | N2341 |
| Extern templates | N1987 |
| New character types | N2249 |
| Defaulted functions | N2346 |
| Deleted functions | N2346 |
| Atomic operations | N2427 |
| Explicit virtual overrides | N2928 |
| User-defined literals | N2765 |
| Universal character names in literals | N2170 |
| Standard Layout Types | N2342 |
| Extending sizeof | N2253 |
| long long | N1811 |
| Defining move special member functions | N3053 |
| Unrestricted unions | N2544 |
| Extended friend declarations | N1791 |
| Local and unnamed types as template arguments | N2657 |
| Inline namespaces | N2535 |
| Propagating exceptions | N2179 |
| Strong Compare and Exchange | N2748 |
| Concepts [not part of C++11 yet] | N2773 |
| Sequence points | N2239 |
| Minimal support for garbage collection and reachability-based leak detection | N2670 |
| Concurrency Memory model | N2429 |
| Allowing move constructors to throw [noexcept] | N3050 |
| Thread local storage | N2659 |
| Adding extended integral types | N1988 |
| Bidirectional Fences | N2752 |
| C99 preprocessor | N1653 |
| Dynamic initialization and destruction with concurrency | N2660 |
| Data-dependency ordering: atomics and memory model | N2664 |
| Allow atomics use in signal handlers | N2547 |
| Abandoning a process and at_quick_exit | N2440 |
| __func__ predefined identifier | N2340 |
Notes about the survey results: [1] "Inheriting Constructors" (N2540) is missing as a choice in the ranked survey. Unfortunately I cannot add it to the survey, so I placed it right after the results for "Delegating Constructors" (N1986). [2] The results for this survey are based on those who choose to take the survey.
- If you want to take part in the survey use the following link:
Click here to take the favorite C++11 features survey
CodeRage 7 C++ Conference, December 10-12, 2012
The CodeRage 7 C++ conference starts next Monday, December 10, 2012 at 6am Pacific Standard Time (14:00 UTC). There are 3 days of C++ sessions including my special live, online conversation with Bjarne Stroustrup at 8am PST (16:00 UTC) on Monday. Some of the C++ sessions you won’t want to miss are included in my blog post on November 21 - http://blogs.embarcadero.com/davidi/2012/11/21/41993.
Happy C++mas!
During the first 25 days of December leading up to Christmas, I will blog about the upcoming release of the C++Builder 64-bit compiler for Microsoft Windows and C++Builder XE3 support for building VCL and FireMonkey 2 applications.
Post a Comment