Category:C++: Difference between revisions

From Rosetta Code
Content added Content deleted
No edit summary
m (Removed dead/broken link)
 
(15 intermediate revisions by 9 users not shown)
Line 9: Line 9:
|compat=both
|compat=both
|tags=cpp
|tags=cpp
|hopl id=1202
|LCT=yes
|LCT=yes
|bnf=http://cpp.comsci.us/syntax/statement/index.html}}{{codepad}}{{allows|Network access}}{{allows|Database access}}{{allows|Concurrency}}{{provides|Run time polymorphism}}{{provides|Compile time polymorphism}}{{allows|Windowing UI}}{{allows|Graphics}}{{allows|OpenGL}}{{allows|Dynamic linking}}{{provides|File access}}{{allows|File system access}}{{provides|Objects}}{{allows|Signal handling}}{{provides|Mutable state}}
|bnf=http://cpp.comsci.us/syntax/statement/index.html}}{{codepad}}{{allows|Network access}}{{allows|Database access
}}{{allows|Concurrency}}{{provides|Run time polymorphism}}{{provides|Compile time polymorphism}}{{allows|Windowing UI}}{{allows|Graphics}}{{allows|OpenGL}}{{allows|Dynamic linking}}{{provides|File access}}{{allows|File system access}}{{provides|Objects}}{{allows|Signal handling}}{{provides|Mutable state}}
'''C++''' is named after the [[derived from::compatible with::C]] language, from which it is derived. C++ extends C into becoming 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-[[:Category:Programming Paradigms|paradigm]] language. Besides conventional [[procedural programming]] and object-oriented programming, it also supports [[generic programming]].
'''C++''' is named after the 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-[[:Category:Programming Paradigms|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++.
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==
==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++98''' is the version of C++ standardized by ISO in 1998.
* '''C++03''' is a minor improvement to C++98, standardized by ISO in 2003.
* '''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.
* '''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''') is a significant improvement, adding many new language features and libraries. It was standardized by ISO in 2011. It is not completely supported by many, if any, compilers, but most of its features are available in [[GCC]]. [http://gcc.gnu.org/projects/cxx0x.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], [[GCC]] [http://gcc.gnu.org/projects/cxx1y.html], and [[Visual C++]][https://docs.microsoft.com/en-us/cpp/overview/visual-cpp-language-conformance?view=msvc-160].
* '''C++17''' (formerly called '''C++1z''') is a minor improvement to C++14, standardized by ISO in 2017. Most of its features are available in [[Clang]] [http://clang.llvm.org/cxx_status.html], [[GCC]] [https://gcc.gnu.org/projects/cxx-status.html#cxx17], and [[Visual C++]][https://docs.microsoft.com/en-us/cpp/overview/visual-cpp-language-conformance?view=msvc-160].
* '''C++20''' (formerly called '''C++2a''') is a major improvement to C++17, standardized by ISO in 2020. Most of its features are implemented by [[Clang]] [http://clang.llvm.org/cxx_status.html], [[GCC]] [https://gcc.gnu.org/projects/cxx-status.html#tses], and [[Visual C++]][https://docs.microsoft.com/en-us/cpp/overview/visual-cpp-language-conformance?view=msvc-160]
* '''C++23''' (alternatively '''C++2b''') is a minor improvement to C++20, expected to be standardized by ISO in 2023. Experimental support exists in [[GCC]][https://gcc.gnu.org/projects/cxx-status.html#cxx23] and [[Clang]][https://clang.llvm.org/cxx_status.html]


{{language programming paradigm|Imperative}}
{{language programming paradigm|Imperative}}
{{language programming paradigm|Object-oriented}}
{{language programming paradigm|Object-oriented}}
{{language programming paradigm|Functional}}
{{language programming paradigm|Generic}}
{{language programming paradigm|Generic}}
<br clear="both">
<br clear="both">

Latest revision as of 19:28, 16 July 2023

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 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.

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.
  • 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], GCC [4], and Visual C++[5].
  • C++17 (formerly called C++1z) is a minor improvement to C++14, standardized by ISO in 2017. Most of its features are available in Clang [6], GCC [7], and Visual C++[8].
  • C++20 (formerly called C++2a) is a major improvement to C++17, standardized by ISO in 2020. Most of its features are implemented by Clang [9], GCC [10], and Visual C++[11]
  • C++23 (alternatively C++2b) is a minor improvement to C++20, expected to be standardized by ISO in 2023. Experimental support exists in GCC[12] and Clang[13]


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)