René's URL Explorer Experiment


Title: Undefined behavior - cppreference.com

Generator: MediaWiki 1.43.8

direct link

Domain: en.cppreference.com

format-detectiontelephone=no

Links:

cppreference.comhttps://en.cppreference.com/
Create accounthttps://en.cppreference.com/index.php?title=Special:CreateAccount&returnto=cpp%2Flanguage%2Fub
Log inhttps://en.cppreference.com/index.php?title=Special:UserLogin&returnto=cpp%2Flanguage%2Fub
Pagehttps://en.cppreference.com/cpp/language/ub
Discussionhttps://en.cppreference.com/Talk:cpp/language/ub
https://en.cppreference.com/cpp/language/ub
Readhttps://en.cppreference.com/cpp/language/ub
View sourcehttps://en.cppreference.com/index.php?title=cpp/language/ub&action=edit
View historyhttps://en.cppreference.com/index.php?title=cpp/language/ub&action=history
https://en.cppreference.com/cpp/language/ub
cpphttps://en.cppreference.com/cpp
languagehttps://en.cppreference.com/cpp/language
C++https://en.cppreference.com/cpp
Compiler supporthttps://en.cppreference.com/cpp/compiler_support
Freestanding and hostedhttps://en.cppreference.com/cpp/freestanding
Languagehttps://en.cppreference.com/cpp/language
Standard libraryhttps://en.cppreference.com/cpp/standard_library
Standard library headershttps://en.cppreference.com/cpp/header
Named requirementshttps://en.cppreference.com/cpp/named_req
Feature test macroshttps://en.cppreference.com/cpp/feature_test
Language support libraryhttps://en.cppreference.com/cpp/utility#Language_support
Concepts libraryhttps://en.cppreference.com/cpp/concepts
Diagnostics libraryhttps://en.cppreference.com/cpp/error
Memory management libraryhttps://en.cppreference.com/cpp/memory
Metaprogramming libraryhttps://en.cppreference.com/cpp/meta
General utilities libraryhttps://en.cppreference.com/cpp/utility
Containers libraryhttps://en.cppreference.com/cpp/container
Iterators libraryhttps://en.cppreference.com/cpp/iterator
Ranges libraryhttps://en.cppreference.com/cpp/ranges
Algorithms libraryhttps://en.cppreference.com/cpp/algorithm
Strings libraryhttps://en.cppreference.com/cpp/string
Text processing libraryhttps://en.cppreference.com/cpp/text
Numerics libraryhttps://en.cppreference.com/cpp/numeric
Date and time libraryhttps://en.cppreference.com/cpp/chrono
Input/output libraryhttps://en.cppreference.com/cpp/io
Filesystem libraryhttps://en.cppreference.com/cpp/filesystem
Concurrency support libraryhttps://en.cppreference.com/cpp/thread
Execution control libraryhttps://en.cppreference.com/cpp/execution
Technical specificationshttps://en.cppreference.com/cpp/experimental
Symbols indexhttps://en.cppreference.com/cpp/symbol_index
External librarieshttps://en.cppreference.com/cpp/links/libs
[edit]https://cppreference.com/index.php?title=Template:cpp/navbar_content&action=edit
C++ languagehttps://en.cppreference.com/cpp/language
Preprocessorhttps://en.cppreference.com/cpp/preprocessor
Commentshttps://en.cppreference.com/cpp/comment
Keywordshttps://en.cppreference.com/cpp/keyword
Escape sequenceshttps://en.cppreference.com/cpp/language/escape
Flow controlhttps://en.cppreference.com/cpp/language/statements
ifhttps://en.cppreference.com/cpp/language/if
switchhttps://en.cppreference.com/cpp/language/switch
forhttps://en.cppreference.com/cpp/language/for
range-forhttps://en.cppreference.com/cpp/language/range-for
whilehttps://en.cppreference.com/cpp/language/while
do-whilehttps://en.cppreference.com/cpp/language/do
continuehttps://en.cppreference.com/cpp/language/continue
breakhttps://en.cppreference.com/cpp/language/break
gotohttps://en.cppreference.com/cpp/language/goto
returnhttps://en.cppreference.com/cpp/language/return
Functionshttps://en.cppreference.com/cpp/language/functions
Function declarationhttps://en.cppreference.com/cpp/language/function
Lambda function expressionhttps://en.cppreference.com/cpp/language/lambda
inline specifierhttps://en.cppreference.com/cpp/language/inline
Dynamic exception specificationshttps://en.cppreference.com/cpp/language/except_spec
noexcept specifierhttps://en.cppreference.com/cpp/language/noexcept_spec
throw-expressionhttps://en.cppreference.com/cpp/language/throw
try blockhttps://en.cppreference.com/cpp/language/try
catch handlerhttps://en.cppreference.com/cpp/language/catch
Namespace declarationhttps://en.cppreference.com/cpp/language/namespace
Namespace aliaseshttps://en.cppreference.com/cpp/language/namespace_alias
Fundamental typeshttps://en.cppreference.com/cpp/language/types
Enumeration typeshttps://en.cppreference.com/cpp/language/enum
Function typeshttps://en.cppreference.com/cpp/language/function
Class/struct typeshttps://en.cppreference.com/cpp/language/class
Union typeshttps://en.cppreference.com/cpp/language/union
const/volatilehttps://en.cppreference.com/cpp/language/cv
decltypehttps://en.cppreference.com/cpp/language/decltype
autohttps://en.cppreference.com/cpp/language/auto
constexprhttps://en.cppreference.com/cpp/language/constexpr
constevalhttps://en.cppreference.com/cpp/language/consteval
constinithttps://en.cppreference.com/cpp/language/constinit
Storage duration specifiershttps://en.cppreference.com/cpp/language/storage_duration
Initializationhttps://en.cppreference.com/cpp/language/initialization
Default-initializationhttps://en.cppreference.com/cpp/language/default_initialization
Value-initializationhttps://en.cppreference.com/cpp/language/value_initialization
Zero-initializationhttps://en.cppreference.com/cpp/language/zero_initialization
Copy-initializationhttps://en.cppreference.com/cpp/language/copy_initialization
Direct-initializationhttps://en.cppreference.com/cpp/language/direct_initialization
Aggregate initializationhttps://en.cppreference.com/cpp/language/aggregate_initialization
List-initializationhttps://en.cppreference.com/cpp/language/list_initialization
Constant initializationhttps://en.cppreference.com/cpp/language/constant_initialization
Reference initializationhttps://en.cppreference.com/cpp/language/reference_initialization
Expressionshttps://en.cppreference.com/cpp/language/expressions
Value categorieshttps://en.cppreference.com/cpp/language/value_category
Order of evaluationhttps://en.cppreference.com/cpp/language/eval_order
Operatorshttps://en.cppreference.com/cpp/language/operators
Operator precedencehttps://en.cppreference.com/cpp/language/operator_precedence
Alternative representationshttps://en.cppreference.com/cpp/language/operator_alternative
Literalshttps://en.cppreference.com/cpp/language/expressions#Literals
Booleanhttps://en.cppreference.com/cpp/language/bool_literal
Integerhttps://en.cppreference.com/cpp/language/integer_literal
Floating-pointhttps://en.cppreference.com/cpp/language/floating_literal
Characterhttps://en.cppreference.com/cpp/language/character_literal
Stringhttps://en.cppreference.com/cpp/language/string_literal
nullptrhttps://en.cppreference.com/cpp/language/nullptr
User-definedhttps://en.cppreference.com/cpp/language/user_literal
Attributeshttps://en.cppreference.com/cpp/language/attributes
typedef declarationhttps://en.cppreference.com/cpp/language/typedef
Type alias declarationhttps://en.cppreference.com/cpp/language/type_alias
Implicit conversionshttps://en.cppreference.com/cpp/language/implicit_conversion
static_casthttps://en.cppreference.com/cpp/language/static_cast
const_casthttps://en.cppreference.com/cpp/language/const_cast
Explicit conversionshttps://en.cppreference.com/cpp/language/explicit_cast
dynamic_casthttps://en.cppreference.com/cpp/language/dynamic_cast
reinterpret_casthttps://en.cppreference.com/cpp/language/reinterpret_cast
new expressionhttps://en.cppreference.com/cpp/language/new
delete expressionhttps://en.cppreference.com/cpp/language/delete
Classeshttps://en.cppreference.com/cpp/language/classes
Class declarationhttps://en.cppreference.com/cpp/language/class
Constructorshttps://en.cppreference.com/cpp/language/constructor
this pointerhttps://en.cppreference.com/cpp/language/this
Access specifiershttps://en.cppreference.com/cpp/language/access
friend specifierhttps://en.cppreference.com/cpp/language/friend
Virtual functionhttps://en.cppreference.com/cpp/language/virtual
override specifierhttps://en.cppreference.com/cpp/language/override
final specifierhttps://en.cppreference.com/cpp/language/final
explicithttps://en.cppreference.com/cpp/language/explicit
statichttps://en.cppreference.com/cpp/language/static
Default constructorhttps://en.cppreference.com/cpp/language/default_constructor
Copy constructorhttps://en.cppreference.com/cpp/language/copy_constructor
Move constructorhttps://en.cppreference.com/cpp/language/move_constructor
Copy assignmenthttps://en.cppreference.com/cpp/language/as_operator
Move assignmenthttps://en.cppreference.com/cpp/language/move_operator
Destructorhttps://en.cppreference.com/cpp/language/destructor
Templateshttps://en.cppreference.com/cpp/language/templates
Class templatehttps://en.cppreference.com/cpp/language/class_template
Function templatehttps://en.cppreference.com/cpp/language/function_template
Template specializationhttps://en.cppreference.com/cpp/language/template_specialization
Parameter packshttps://en.cppreference.com/cpp/language/pack
Inline assemblyhttps://en.cppreference.com/cpp/language/asm
History of C++https://en.cppreference.com/cpp/language/history
[edit]https://cppreference.com/index.php?title=Template:cpp/language/navbar_content&action=edit
Basic Conceptshttps://en.cppreference.com/cpp/language/basic_concepts
Commentshttps://en.cppreference.com/cpp/comment
ASCIIhttps://en.cppreference.com/cpp/language/ascii
Punctuationhttps://en.cppreference.com/cpp/language/punctuators
Names and identifiershttps://en.cppreference.com/cpp/language/identifiers
Typeshttps://en.cppreference.com/cpp/language/type
Fundamental typeshttps://en.cppreference.com/cpp/language/types
Objectshttps://en.cppreference.com/cpp/language/object
Scopehttps://en.cppreference.com/cpp/language/scope
Object lifetimehttps://en.cppreference.com/cpp/language/lifetime
Storage duration and linkagehttps://en.cppreference.com/cpp/language/storage_duration
Definitions and ODRhttps://en.cppreference.com/cpp/language/definition
Name lookuphttps://en.cppreference.com/cpp/language/lookup
Qualified name lookuphttps://en.cppreference.com/cpp/language/qualified_lookup
Unqualified name lookuphttps://en.cppreference.com/cpp/language/unqualified_lookup
The as-if rulehttps://en.cppreference.com/cpp/language/as_if
Memory modelhttps://en.cppreference.com/cpp/language/memory_model
Multi-threaded executions and data raceshttps://en.cppreference.com/cpp/language/multithread
Character sets and encodingshttps://en.cppreference.com/cpp/language/charset
Phases of translationhttps://en.cppreference.com/cpp/language/translation_phases
The main functionhttps://en.cppreference.com/cpp/language/main_function
Moduleshttps://en.cppreference.com/cpp/language/modules
Contractshttps://en.cppreference.com/cpp/language/contracts
[edit]https://cppreference.com/index.php?title=Template:cpp/language/basics/navbar_content&action=edit
1 Explanationhttps://en.cppreference.com/cpp/language/ub#Explanation
2 UB and optimizationhttps://en.cppreference.com/cpp/language/ub#UB_and_optimization
2.1 Signed overflowhttps://en.cppreference.com/cpp/language/ub#Signed_overflow
2.2 Access out of boundshttps://en.cppreference.com/cpp/language/ub#Access_out_of_bounds
2.3 Uninitialized scalarhttps://en.cppreference.com/cpp/language/ub#Uninitialized_scalar
2.4 Invalid scalarhttps://en.cppreference.com/cpp/language/ub#Invalid_scalar
2.5 Null pointer dereferencehttps://en.cppreference.com/cpp/language/ub#Null_pointer_dereference
2.6 Access to pointer passed to std::reallochttps://en.cppreference.com/cpp/language/ub#Access_to_pointer_passed_to_std::realloc
2.7 Infinite loop without side-effectshttps://en.cppreference.com/cpp/language/ub#Infinite_loop_without_side-effects
3 Ill-formed with diagnostic messagehttps://en.cppreference.com/cpp/language/ub#Ill-formed_with_diagnostic_message
4 Referenceshttps://en.cppreference.com/cpp/language/ub#References
5 See alsohttps://en.cppreference.com/cpp/language/ub#See_also
6 External linkshttps://en.cppreference.com/cpp/language/ub#External_links
observable behaviorhttps://en.cppreference.com/cpp/language/as_if
no diagnostic requiredhttps://en.cppreference.com/cpp/language/ndr
ODRhttps://en.cppreference.com/cpp/language/definition
localehttps://en.cppreference.com/cpp/locale
order of evaluationhttps://en.cppreference.com/cpp/language/eval_order
string literalshttps://en.cppreference.com/cpp/language/string_literal
more than onehttps://en.cppreference.com/cpp/language/eval_order
a pointer of a different typehttps://en.cppreference.com/cpp/language/reinterpret_cast#Type_aliasing
core constant expressionhttps://en.cppreference.com/cpp/language/constant_expression#Core_constant_expression
demohttps://godbolt.org/z/re39h7P1K
demohttps://godbolt.org/z/vMbsdo5az
demohttps://godbolt.org/z/1sraffdM8
demohttps://godbolt.org/z/4vKxhcea4
demohttps://godbolt.org/z/edxr5W5T7
with only a warninghttps://coliru.stacked-crooked.com/a/3cc6bdd9576df9a5
appears in the C++ standardhttps://eel.is/c++draft/dcl.init.list#example-6
GCC Bugzilla #55783https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55783
assumehttps://en.cppreference.com/cpp/language/attributes/assume
[edit]https://cppreference.com/index.php?title=Template:cpp/language/attributes/dsc_assume&action=edit
indeterminatehttps://en.cppreference.com/cpp/language/attributes/indeterminate
[edit]https://cppreference.com/index.php?title=Template:cpp/language/attributes/dsc_indeterminate&action=edit
unreachablehttps://en.cppreference.com/cpp/utility/unreachable
[edit]https://cppreference.com/index.php?title=Template:cpp/utility/dsc_unreachable&action=edit
C documentationhttps://en.cppreference.com/c/language/behavior
The LLVM Project Blog: What Every C Programmer Should Know About Undefined Behavior #1/3https://blog.llvm.org/2011/05/what-every-c-programmer-should-know.html
The LLVM Project Blog: What Every C Programmer Should Know About Undefined Behavior #2/3https://blog.llvm.org/2011/05/what-every-c-programmer-should-know_14.html
The LLVM Project Blog: What Every C Programmer Should Know About Undefined Behavior #3/3https://blog.llvm.org/2011/05/what-every-c-programmer-should-know_21.html
Undefined behavior can result in time travel (among other things, but time travel is the funkiest)https://devblogs.microsoft.com/oldnewthing/20140627-00/?p=633
Understanding Integer Overflow in C/C++https://www.cs.utah.edu/~regehr/papers/overflow12.pdf
Fun with NULL pointers, part 1https://lwn.net/Articles/342330/
Undefined Behavior and Fermat’s Last Theoremhttps://web.archive.org/web/20201108094235/https://kukuruku.co/post/undefined-behavior-and-fermats-last-theorem/
C++ programmer's guide to undefined behaviorhttps://pvs-studio.com/en/blog/posts/cpp/1129/
Categorieshttps://en.cppreference.com/Special:Categories
Pages using deprecated source tagshttps://en.cppreference.com/index.php?title=Category:Pages_using_deprecated_source_tags&action=edit&redlink=1
Pages using deprecated enclose attributeshttps://en.cppreference.com/index.php?title=Category:Pages_using_deprecated_enclose_attributes&action=edit&redlink=1
Support ushttp://www.cppreference.com/support
Recent changeshttps://en.cppreference.com/Special:RecentChanges
FAQhttps://en.cppreference.com/Cppreference:FAQ
Offline versionhttps://en.cppreference.com/Cppreference:Archives
https://en.cppreference.com/cpp/language/ub
What links herehttps://en.cppreference.com/Special:WhatLinksHere/cpp/language/ub
Related changeshttps://en.cppreference.com/Special:RecentChangesLinked/cpp/language/ub
Upload filehttp://upload.cppreference.com/w/Special:Upload
Special pageshttps://en.cppreference.com/Special:SpecialPages
Printable versionjavascript:print();
Permanent linkhttps://en.cppreference.com/index.php?title=cpp/language/ub&oldid=186039
Page informationhttps://en.cppreference.com/index.php?title=cpp/language/ub&action=info
Españolhttp://es.cppreference.com/cpp/language/ub
日本語http://ja.cppreference.com/cpp/language/ub
Русскийhttp://ru.cppreference.com/cpp/language/ub
中文http://zh.cppreference.com/cpp/language/ub

Viewport: width=1120

Robots: max-image-preview:standard


URLs of crawlers that visited me.