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: |
If you know C++, please write code for some of the tasks not implemented in C++.
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.
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[edit]
- 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 (still currently called C++1z) is a minor improvement to C++14 that has reached Draft International Standard [5] in March 2017, meaning publication is due very soon. Most of its features are already available in Clang [6] and GCC [7].
- 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 [8] and GCC [9]
Subcategories
This category has the following 3 subcategories, out of 3 total.
Pages in category "C++"
The following 665 pages are in this category, out of 665 total.
A
- A* search algorithm
- A+B
- ABC Problem
- Abstract type
- Abundant, deficient and perfect number classifications
- Accumulator factory
- Ackermann function
- Active object
- Address of a variable
- Align columns
- Almost prime
- Amicable pairs
- Anagrams
- Anagrams/Deranged anagrams
- Angle difference between two bearings
- Animate a pendulum
- Anonymous recursion
- Apply a callback to an array
- Apply a digital filter (direct form II transposed)
- Archimedean spiral
- Arena storage pool
- Arithmetic evaluation
- Arithmetic-geometric mean
- Arithmetic-geometric mean/Calculate Pi
- Arithmetic/Complex
- Arithmetic/Integer
- Arithmetic/Rational
- Array concatenation
- Array length
- Arrays
- Assertions
- Associative array/Creation
- Associative array/Iteration
- Atomic updates
- Averages/Arithmetic mean
- Averages/Median
- Averages/Mode
- Averages/Pythagorean means
- Averages/Root mean square
- Averages/Simple moving average
- AVL tree
B
- Babbage problem
- Bacon cipher
- Balanced brackets
- Balanced ternary
- Barnsley fern
- Base64 encode data
- Benford's law
- Best shuffle
- Binary digits
- Binary search
- Bitmap
- Bitmap/Bresenham's line algorithm
- Bitmap/Flood fill
- Bitwise operations
- Boolean values
- Box the compass
- Brace expansion
- Break OO privacy
- Brownian tree
- Bulls and cows
- Bulls and cows/Player
C
- C++03
- C++11
- C++14
- C++98
- Caesar cipher
- Calendar
- Call a foreign-language function
- Call a function
- Call an object method
- Card shuffles
- Case-sensitivity of identifiers
- Casting out nines
- Catalan numbers
- Catalan numbers/Pascal's triangle
- Catamorphism
- Chaos game
- Character codes
- Chebyshev coefficients
- Check that file exists
- Checkpoint synchronization
- Chinese zodiac
- Circles of given radius through two points
- Classes
- Closest-pair problem
- Closures/Value capture
- Collections
- Colour bars/Display
- Colour pinstripe/Display
- Combinations
- Combinations with repetitions
- Comma quibbling
- Command-line arguments
- Comments
- Compare a list of strings
- Compile-time calculation
- Compound data type
- Concurrent computing
- Conditional structures
- Constrained genericity
- Constrained random points on a circle
- Continued fraction
- Continued fraction/Arithmetic/Construct from rational number
- Continued fraction/Arithmetic/G(matrix NG, Contined Fraction N)
- Continued fraction/Arithmetic/G(matrix NG, Contined Fraction N1, Contined Fraction N2)
- Convert seconds to compound duration
- Conway's Game of Life
- Copy a string
- Count in factors
- Count in octal
- Count occurrences of a substring
- CRC-32
- Create a file
- Create a two-dimensional array at runtime
- Create an HTML table
- Create an object at a given address
- CSV data manipulation
- CSV to HTML translation
- Cumulative standard deviation
- Currying
D
- Date format
- Date manipulation
- Day of the week
- Deal cards for FreeCell
- Define a primitive data type
- Delegates
- Delete a file
- Department Numbers
- Detect division by zero
- Determine if a string is numeric
- Determine if only one instance is running
- Determine if two triangles overlap
- Digital root
- Digital root/Multiplicative digital root
- Dijkstra's algorithm
- Dining philosophers
- Discordian date
- Diversity prediction theorem
- DNS query
- Dot product
- Doubly-linked list/Definition
- Doubly-linked list/Element definition
- Doubly-linked list/Element insertion
- Doubly-linked list/Traversal
- Dragon curve
- Draw a clock
- Draw a cuboid
- Dutch national flag problem
E
- Elementary cellular automaton
- Elementary cellular automaton/Infinite length
- Elementary cellular automaton/Random Number Generator
- Emirp primes
- Empty directory
- Empty program
- Empty string
- Enforced immutability
- Entropy
- Enumerations
- Environment variables
- Equilibrium index
- Ethiopian multiplication
- Euler method
- Euler's sum of powers conjecture
- Evaluate binomial coefficients
- Even or odd
- Evolutionary algorithm
- Exceptions
- Exceptions/Catch an exception thrown in a nested call
- Execute a Markov algorithm
- Execute a system command
- Execute Brain****
- Execute HQ9+
- Execute SNUSP
- Exponentiation operator
- Extract file extension
F
- Factorial
- Factors of an integer
- Fast Fourier transform
- FASTA format
- Fibonacci heap
- Fibonacci n-step number sequences
- Fibonacci sequence
- Fibonacci word
- Fibonacci word/fractal
- File input/output
- File modification time
- File size
- Filter
- Find common directory path
- Find limit of recursion
- Find the intersection of two lines
- Find the last Sunday of each month
- Find the missing permutation
- Finite state machine
- First-class functions
- Five weekends
- FizzBuzz
- Flatten a list
- Flipping bits game
- Flow-control structures
- Floyd's triangle
- Forest fire
- Fork
- Formatted numeric output
- Forward difference
- Four bit adder
- Fractal tree
- Fractran
- Function composition
- Function definition
- Function prototype
G
- Galton box animation
- General FizzBuzz
- Generate Chess960 starting position
- Generate lower case ASCII alphabet
- Generate random chess position
- Generator/Exponential
- Generic swap
- Globally replace text in several files
- Go Fish
- Go Fish/C++
- Gray code
- Greatest common divisor
- Greatest element of a list
- Greatest subsequential sum
- Greed
- Greyscale bars/Display
- Guess the number
- Guess the number/With feedback
- Guess the number/With feedback (player)
- GUI component interaction
- GUI enabling/disabling of controls
H
- Hailstone sequence
- Hamming numbers
- Happy numbers
- Harshad or Niven series
- Hash from two arrays
- Hello world/Graphical
- Hello world/Line printer
- Hello world/Newbie
- Hello world/Newline omission
- Hello world/Standard error
- Hello world/Text
- Hello world/Web server
- Here document
- Heronian triangles
- Hickerson series of almost integers
- Higher-order functions
- Hofstadter Figure-Figure sequences
- Hofstadter Q sequence
- Hofstadter-Conway $10,000 sequence
- Horner's rule for polynomial evaluation
- Hostname
- HTTP
- Huffman coding
- Hunt The Wumpus
- Hunt The Wumpus/C++
I
- I before E except after C
- IBAN
- Identity matrix
- Image noise
- Include a file
- Increment a numerical string
- Infinity
- Inheritance/Multiple
- Inheritance/Single
- Input loop
- Input/Output for Pairs of Numbers
- Integer comparison
- Integer overflow
- Integer sequence
- Inverted index
- Inverted syntax
- Iterated digits squaring
J
K
L
- Langton's ant
- Largest int from concatenated ints
- Last Friday of each month
- Leap year
- Least common multiple
- Left factorials
- Leonardo numbers
- Letter frequency
- Levenshtein distance
- Linear congruential generator
- Linux CPU utilization
- List comprehensions
- Literals/Integer
- Literals/String
- Logical operations
- Long multiplication
- Longest common prefix
- Longest common subsequence
- Longest Common Substring
- Longest increasing subsequence
- Look-and-say sequence
- Loop over multiple arrays simultaneously
- Loops/Break
- Loops/Continue
- Loops/Do-while
- Loops/Downward for
- Loops/For
- Loops/For with a specified step
- Loops/Foreach
- Loops/Infinite
- Loops/N plus one half
- Loops/Nested
- Loops/While
- Lucas-Lehmer test
- Ludic numbers
- Luhn test of credit card numbers
- LZW compression
M
- Mad Libs
- Magic squares of doubly even order
- Magic squares of odd order
- Magic squares of singly even order
- Main step of GOST 28147-89
- Man or boy test
- Mandelbrot set
- Map range
- Markov chain text generator
- Mastermind
- Matrix multiplication
- Matrix transposition
- Matrix-exponentiation operator
- Maximum triangle path sum
- Maze generation
- Maze solving
- MD5
- Memory allocation
- Memory layout of a data structure
- Menu
- Middle three digits
- Minesweeper game
- Modular inverse
- Modulinos
- Monte Carlo methods
- Montgomery reduction
- Monty Hall problem
- Morse code
- Most frequent k chars distance
- Move-to-front algorithm
- Multifactorial
- Multiple distinct objects
- Multiplication tables
- Multisplit
- Munchausen numbers
- Munching squares
- Musical scale
- Mutex
- Mutual recursion
N
- N'th
- N-queens problem
- Named parameters
- Narcissistic decimal number
- Nautical bell
- Nested function
- Non-continuous subsequences
- Non-decimal radices/Convert
- Non-decimal radices/Input
- Non-decimal radices/Output
- Nonoblock
- Nonogram solver
- Nth root
- Null object
- Number names
- Number reversal game
- Numeric error propagation
- Numerical integration
- Numerical integration/Gauss-Legendre Quadrature
O
P
- Palindrome detection
- Pangram checker
- Parallel calculations
- Parametric polymorphism
- Parsing/RPN calculator algorithm
- Parsing/RPN to infix conversion
- Partial function application
- Pascal's triangle
- Password generator
- Penney's game
- Percentage difference between images
- Percolation/Bond percolation
- Percolation/Mean run density
- Perfect numbers
- Perfect shuffle
- Permutation test
- Permutations
- Permutations by swapping
- Pernicious numbers
- Phrase reversals
- Pick random element
- Pig the dice game
- Pig the dice game/Player
- Pinstripe/Display
- Plasma effect
- Playfair cipher
- Playing cards
- Plot coordinate pairs
- Pointers and references
- Poker hand analyser
- Polymorphic copy
- Polymorphism
- Polynomial long division
- Polyspiral
- Population count
- Power set
- Price fraction
- Primality by trial division
- Prime conspiracy
- Prime decomposition
- Priority queue
- Probabilistic choice
- Program name
- Program termination
- Proper divisors
- Pythagoras tree
R
- Ramer-Douglas-Peucker line simplification
- Random number generator (device)
- Random number generator (included)
- Random numbers
- Range expansion
- Range extraction
- Rate counter
- Ray-casting algorithm
- RCRPG
- RCRPG/C++98
- RCSNUSP/C++
- Read a configuration file
- Read a file line by line
- Read a specific line from a file
- Read entire file
- Real constants and functions
- Record sound
- Recursive descent parser generator
- Reduced row echelon form
- Regular expressions
- Remove duplicate elements
- Remove lines from a file
- Rename a file
- Rep-string
- Repeat
- Repeat a string
- Respond to an unknown method call
- Return multiple values
- Reverse a string
- Reverse words in a string
- Robots
- Rock-paper-scissors
- Roman numerals/Decode
- Roman numerals/Encode
- Roots of a function
- Roots of a quadratic function
- Roots of unity
- Rosetta Code/Rank languages by popularity
- Rot-13
- Run-length encoding
- Runge-Kutta method
S
- Sattolo cycle
- Search a list
- Search a list of records
- SEDOLs
- Self-describing numbers
- Self-referential sequence
- Semiprime
- Semordnilap
- Send email
- Sequence of non-squares
- Sequence of primes by Trial Division
- Set
- Set puzzle
- Seven-sided dice from five-sided dice
- SHA-1
- SHA-256
- Short-circuit evaluation
- Show the epoch
- Sierpinski carpet
- Sierpinski triangle
- Sierpinski triangle/Graphical
- Sieve of Eratosthenes
- Simple windowed application
- Singleton
- Singly-linked list/Element definition
- Singly-linked list/Element insertion
- Singly-linked list/Traversal
- Sleep
- Smith numbers
- Snake
- Sockets
- Sokoban
- Solve a Hidato puzzle
- Solve a Holy Knight's tour
- Solve a Hopido puzzle
- Solve a Numbrix puzzle
- Sort a list of object identifiers
- Sort an array of composite structures
- Sort an integer array
- Sort disjoint sublist
- Sort stability
- Sort three variables
- Sort using a custom comparator
- Sorting algorithms/Bead sort
- Sorting algorithms/Bogosort
- Sorting algorithms/Bubble sort
- Sorting algorithms/Cocktail sort
- Sorting algorithms/Comb sort
- Sorting algorithms/Counting sort
- Sorting algorithms/Cycle sort
- Sorting algorithms/Gnome sort
- Sorting algorithms/Heapsort
- Sorting algorithms/Insertion sort
- Sorting algorithms/Merge sort
- Sorting algorithms/Pancake sort
- Sorting algorithms/Patience sort
- Sorting algorithms/Permutation sort
- Sorting algorithms/Quicksort
- Sorting algorithms/Radix sort
- Sorting algorithms/Selection sort
- Sorting algorithms/Shell sort
- Sorting algorithms/Sleep sort
- Sorting algorithms/Stooge sort
- Sorting algorithms/Strand sort
- Sparkline in unicode
- Special characters
- Spiral matrix
- Split a character string based on change of character
- Stable marriage problem
- Stack
- Stair-climbing puzzle
- State name puzzle
- Statistics/Basic
- Statistics/Normal distribution
- Stem-and-leaf plot
- Stern-Brocot sequence
- Straddling checkerboard
- String append
- String case
- String comparison
- String concatenation
- String interpolation (included)
- String length
- String matching
- String prepend
- Strip a set of characters from a string
- Strip block comments
- Strip comments from a string
- Strip control codes and extended characters from a string
- Strip whitespace from a string/Top and tail
- Subleq
- Substitution Cipher
- Substring
- Substring/Top and tail
- Subtractive generator
- Sudoku
- Sum and product of an array
- Sum digits of an integer
- Sum multiples of 3 and 5
- Sum of a series
- Sum of squares
- Sum to 100
- Symmetric difference
- Synchronous concurrency
- System time
T
- Take notes on the command line
- Temperature conversion
- Terminal control/Cursor positioning
- Terminal control/Display an extended character
- Terminal control/Hiding the cursor
- Ternary logic
- Test integerness
- Text processing/1
- Text processing/2
- Text processing/Max licenses in use
- Textonyms
- The Twelve Days of Christmas
- Thue-Morse
- Tic-tac-toe
- Time a function
- Tokenize a string
- Top rank per group
- Topological sort
- Towers of Hanoi
- Trabb Pardo–Knuth algorithm
- Tree traversal
- Trigonometric functions
- Truncate a file
- Twelve statements
U
V
W
- Execution method/Compiled/Machine code
- Garbage collection/No
- Parameter passing/By reference
- Parameter passing/By value
- Typing/Safe
- Typing/Unsafe
- Typing/Strong
- Typing/Compatibility/Nominative
- Typing/Compatibility/Structural
- Typing/Expression/Explicit
- Typing/Checking/Dynamic
- Typing/Checking/Static
- Programming Languages
- Codepad languages
- Programming paradigm/Imperative
- Programming paradigm/Object-oriented
- Programming paradigm/Generic