Category:C++: Difference between revisions

From Rosetta Code
Content added Content deleted
(C++2a info)
(C++17 has been standardized, so rewording a bit)
Line 25: Line 25:
* '''C++11''' (formerly called '''C++0x''' and sometimes '''C++1x''') is a significant improvement, adding many new language features and libraries. It was standardized by ISO in 2011. Most of its features are available in [[GCC]] [http://gcc.gnu.org/projects/cxx0x.html] and [[Clang]] [http://clang.llvm.org/cxx_status.html].
* '''C++11''' (formerly called '''C++0x''' and sometimes '''C++1x''') is a significant improvement, adding many new language features and libraries. It was standardized by ISO in 2011. Most of its features are available in [[GCC]] [http://gcc.gnu.org/projects/cxx0x.html] and [[Clang]] [http://clang.llvm.org/cxx_status.html].
* '''C++14''' (formerly called '''C++1y''') is a minor improvement to C++11, standardized by ISO in 2014. Most of its features are available in [[Clang]] [http://clang.llvm.org/cxx_status.html] and [[GCC]] [http://gcc.gnu.org/projects/cxx1y.html].
* '''C++14''' (formerly called '''C++1y''') is a minor improvement to C++11, standardized by ISO in 2014. Most of its features are available in [[Clang]] [http://clang.llvm.org/cxx_status.html] and [[GCC]] [http://gcc.gnu.org/projects/cxx1y.html].
* '''C++17''' (still currently called '''C++1z''') is a minor improvement to C++14 that has reached ''Draft International Standard'' [https://en.wikipedia.org/wiki/C++17] in March 2017, meaning publication is due very soon. Most of its features are already available in [[Clang]] [http://clang.llvm.org/cxx_status.html] and [[GCC]] [https://gcc.gnu.org/projects/cxx-status.html#cxx14].
* '''C++17''' (formerly called '''C++1z''') is a minor improvement to C++14, standardized by ISO in 2017. Most of its features are already available in [[Clang]] [http://clang.llvm.org/cxx_status.html] and [[GCC]] [https://gcc.gnu.org/projects/cxx-status.html#cxx17].
* '''C++2a''' ('''C++20 ''' unofficially) is a major upcoming improvement to C++17 first drafted in July 2017. What proposed features it will have is currently partially implemented by [[Clang]] [http://clang.llvm.org/cxx_status.html] and [[GCC]] [https://gcc.gnu.org/projects/cxx-status.html#tses]
* '''C++2a''' ('''C++20 ''' unofficially) is a major upcoming improvement to C++17 first drafted in July 2017. What proposed features it will have is currently partially implemented by [[Clang]] [http://clang.llvm.org/cxx_status.html] and [[GCC]] [https://gcc.gnu.org/projects/cxx-status.html#tses]



Revision as of 10:59, 20 December 2017

Language
C++
This programming language may be used to instruct a computer to perform a task.
Execution method: Compiled (machine code)
Garbage collected: No
Parameter passing methods: By reference, By value
Type safety: Safe, Unsafe
Type strength: Strong
Type compatibility: Nominative, Structural
Type expression: Explicit
Type checking: Dynamic, Static
Lang tag(s): cpp
See Also:
Listed below are all of the tasks on Rosetta Code which have been solved using C++.
Try this language on Codepad.

C++ is named after the compatible with::C language, from which it is derived. C++ extends C into an object-oriented language. However, unlike other object-oriented languages, it doesn't try to force you into object-oriented programming, but is a multi-paradigm language. Besides conventional procedural programming and object-oriented programming, it also supports generic programming.

The ++ in C++ is some what of an inside joke, in that C++ is C with a Post Increment operator attached, thus C++ is C + 1; however, this interpretation has the flaw that post-increment increments the value after returning the value, so the post-increment expression still evaluates to the value before the increment.

If you can't find an implementation for your task in the C++ category below, please look in the C category, as many of the tasks can be implemented identically in C and C++.

Versions

  • C++98 is the version of C++ standardized by ISO in 1998. It is the most commonly used and supported version of the language. The term "C++" usually refers to C++98.
  • C++03 is a minor improvement to C++98, standardized by ISO in 2003.
  • TR1 (Technical Report 1) is a proposal for extensions to the C++ standard library. It was published in 2007. Many of its proposals made it into C++11. Many compilers support it, but put its headers in a different directory.
  • C++11 (formerly called C++0x and sometimes C++1x) is a significant improvement, adding many new language features and libraries. It was standardized by ISO in 2011. Most of its features are available in GCC [1] and Clang [2].
  • C++14 (formerly called C++1y) is a minor improvement to C++11, standardized by ISO in 2014. Most of its features are available in Clang [3] and GCC [4].
  • C++17 (formerly called C++1z) is a minor improvement to C++14, standardized by ISO in 2017. Most of its features are already available in Clang [5] and GCC [6].
  • C++2a (C++20 unofficially) is a major upcoming improvement to C++17 first drafted in July 2017. What proposed features it will have is currently partially implemented by Clang [7] and GCC [8]


Subcategories

This category has the following 3 subcategories, out of 3 total.

Pages in category "C++"

The following 200 pages are in this category, out of 1,275 total.

(previous page) (next page)

A

C

(previous page) (next page)