C++
#include <iostream>
int main()
{
// one line comment
/**
* multi -line blck comment
* antother line
* oh! another one!
*/
auto result = (10 <=> 20) > 0;
std::cout << result << std::endl;
std::cout << "Number1";
std::cout << "Hello World!" << std::endl;
}
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
printf("Hello, world!");
return 0;
}
data types
| c++ stream | purpose |
|---|---|
| std::cout | printing data to the console |
| std::cin | reading data from the terminal |
| std::cerr | printing errors to the console |
| std::clog | printing log messages to the console |
C++ Operator Precedence
| compile-time concepts
| Precedence | Operator | Description | Associativity |
|---|---|---|---|
| 1 | :: |
Scope resolution | Left-to-right → |
| 2 | a++ a-- |
Suffix/postfix increment and decrement | |
type() type{} |
Functional cast | ||
a() |
Function call | ||
a[] |
Subscript | ||
. -> |
Member access | ||
| 3 | ++a --a |
Prefix increment and decrement | Right-to-left ← |
+a -a |
Unary plus and minus | ||
! ~ |
Logical NOT and bitwise NOT | ||
(type) |
C-style cast | ||
*a |
Indirection (dereference) | ||
&a |
Address-of | ||
sizeof |
Size-of[note 1] | ||
co_await |
await-expression (C++20) | ||
new new[] |
Dynamic memory allocation | ||
delete delete[] |
Dynamic memory deallocation | ||
| 4 | .* ->* |
Pointer-to-member | Left-to-right → |
| 5 | a*b a/b a%b |
Multiplication, division, and remainder | |
| 6 | a+b a-b |
Addition and subtraction | |
| 7 | << >> |
Bitwise left shift and right shift | |
| 8 | <=> |
Three-way comparison operator (since C++20) | |
| 9 | < <= > >= |
For relational operators < and ≤ and > and ≥ respectively | |
| 10 | == != |
For equality operators = and ≠ respectively | |
| 11 | a&b |
Bitwise AND | |
| 12 | ^ |
Bitwise XOR (exclusive or) | |
| 13 | `\ | ` | Bitwise OR (inclusive or) |
| 14 | && |
Logical AND | |
| 15 | `\ | \ | ` |
| 16 | a?b:c |
Ternary conditional[note 2] | Right-to-left ← |
throw |
throw operator | ||
co_yield |
yield-expression (C++20) | ||
= |
Direct assignment (provided by default for C++ classes) | ||
+= -= |
Compound assignment by sum and difference | ||
*= /= %= |
Compound assignment by product, quotient, and remainder | ||
<<= `>>=\ |
` | Compound assignment by bitwise left shift and right shift | |
&= ^= `\ |
=` | Compound assignment by bitwise AND, XOR, and OR | |
| 17 | , |
Comma | Left-to-right → |
C++ output formatting
Code Examples
Page Source