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