cppreference.com
Create account
Log in
Namespaces
Page
Discussion
Variants
Views
View
Edit
History
Actions
C++ keyword:
friend
From cppreference.com
<
cpp
|
keyword
C++
Compiler support
Freestanding and hosted
Language
Standard library
Standard library headers
Named requirements
Feature test macros
(C++20)
Language support library
Concepts library
(C++20)
Metaprogramming library
(C++11)
Diagnostics library
General utilities library
Strings library
Containers library
Iterators library
Ranges library
(C++20)
Algorithms library
Numerics library
Localizations library
Input/output library
Filesystem library
(C++17)
Regular expressions library
(C++11)
Concurrency support library
(C++11)
Execution support library
(C++26)
Technical specifications
Symbols index
External libraries
[edit]
C++ language
General topics
Preprocessor
Comments
Keywords
Escape sequences
Flow control
Conditional execution statements
if
switch
Iteration statements (loops)
for
range-
for
(C++11)
while
do-while
Jump statements
continue
-
break
goto
-
return
Functions
Function declaration
Lambda function expression
inline
specifier
Dynamic exception specifications
(
until C++17*
)
noexcept
specifier
(C++11)
Exceptions
throw
-expression
try
block
handler
Namespaces
Namespace declaration
Namespace aliases
Types
Fundamental types
Enumeration types
Function types
Class/struct types
Union types
Specifiers
const
/
volatile
decltype
(C++11)
auto
(C++11)
constexpr
(C++11)
consteval
(C++20)
constinit
(C++20)
Storage duration specifiers
Initialization
Default-initialization
Value-initialization
Zero-initialization
Copy-initialization
Direct-initialization
Aggregate initialization
List-initialization
(C++11)
Constant initialization
Reference initialization
Expressions
Value categories
Order of evaluation
Operators
Operator precedence
Alternative representations
Literals
Boolean
-
Integer
-
Floating-point
Character
-
String
-
nullptr
(C++11)
User-defined
(C++11)
Utilities
Attributes
(C++11)
Types
typedef
declaration
Type alias declaration
(C++11)
Casts
Implicit conversions
static_cast
const_cast
Explicit conversions
dynamic_cast
reinterpret_cast
Memory allocation
new
expression
delete
expression
Classes
Class declaration
Constructors
this
pointer
Access specifiers
friend
specifier
Class-specific function properties
Virtual function
override
specifier
(C++11)
final
specifier
(C++11)
explicit
(C++11)
static
Special member functions
Default constructor
Copy constructor
Move constructor
(C++11)
Copy assignment
Move assignment
(C++11)
Destructor
Templates
Class template
Function template
Template specialization
Parameter packs
(C++11)
Miscellaneous
Inline assembly
History of C++
[edit]
Keywords
alignas
(C++11)
alignof
(C++11)
and
and_eq
asm
auto
(
*
)
bitand
bitor
bool
break
case
catch
char
char8_t
(C++20)
char16_t
(C++11)
char32_t
(C++11)
class
compl
concept
(C++20)
const
consteval
(C++20)
constexpr
(C++11)
constinit
(C++20)
const_cast
continue
co_await
(C++20)
co_return
(C++20)
co_yield
(C++20)
decltype
(C++11)
default
delete
do
double
dynamic_cast
else
enum
explicit
export
extern
false
float
for
friend
goto
if
inline
int
long
mutable
namespace
new
noexcept
(C++11)
not
not_eq
nullptr
(C++11)
operator
or
or_eq
private
protected
public
register
reinterpret_cast
requires
(C++20)
return
short
signed
sizeof
(
*
)
static
static_assert
(C++11)
static_cast
struct
switch
template
this
thread_local
(C++11)
throw
true
try
typedef
typeid
typename
union
unsigned
using
virtual
void
volatile
wchar_t
while
xor
xor_eq
Identifiers with special meaning
final
(C++11)
import
(C++20)
module
(C++20)
override
(C++11)
[edit]
[
edit
]
Usage
friend
specifier