Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 100379
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 11, 20262026-05-11T00:34:06+00:00 2026-05-11T00:34:06+00:00

What are all the common undefined behaviours that a C++ programmer should know about?

  • 0

What are all the common undefined behaviours that a C++ programmer should know about?

Say, like:

a[i] = i++; 

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. 2026-05-11T00:34:07+00:00Added an answer on May 11, 2026 at 12:34 am

    Pointer

    • Dereferencing a NULL pointer
    • Dereferencing a pointer returned by a "new" allocation of size zero
    • Using pointers to objects whose lifetime has ended (for instance, stack allocated objects or deleted objects)
    • Dereferencing a pointer that has not yet been definitely initialized
    • Performing pointer arithmetic that yields a result outside the boundaries (either above or below) of an array.
    • Dereferencing the pointer at a location beyond the end of an array.
    • Converting pointers to objects of incompatible types
    • Using memcpy to copy overlapping buffers.

    Buffer overflows

    • Reading or writing to an object or array at an offset that is negative, or beyond the size of that object (stack/heap overflow)

    Integer Overflows

    • Signed integer overflow
    • Evaluating an expression that is not mathematically defined
    • Left-shifting values by a negative amount (right shifts by negative amounts are implementation defined)
    • Shifting values by an amount greater than or equal to the number of bits in the number (e.g. int64_t i = 1; i <<= 72 is undefined)

    Types, Cast and Const

    • Casting a numeric value into a value that can’t be represented by the target type (either directly or via static_cast)
    • Using an automatic variable before it has been definitely assigned (e.g., int i; i++; cout << i;)
    • Using the value of any object of type other than volatile or sig_atomic_t at the receipt of a signal
    • Attempting to modify a string literal or any other const object during its lifetime
    • Concatenating a narrow with a wide string literal during preprocessing

    Function and Template

    • Not returning a value from a value-returning function (directly or by flowing off from a try-block)
    • Multiple different definitions for the same entity (class, template, enumeration, inline function, static member function, etc.)
    • Infinite recursion in the instantiation of templates
    • Calling a function using different parameters or linkage to the parameters and linkage that the function is defined as using.

    OOP

    • Cascading destructions of objects with static storage duration
    • The result of assigning to partially overlapping objects
    • Recursively re-entering a function during the initialization of its static objects
    • Making virtual function calls to pure virtual functions of an object from its constructor or destructor
    • Referring to nonstatic members of objects that have not been constructed or have already been destructed

    Source file and Preprocessing

    • A non-empty source file that doesn’t end with a newline, or ends with a backslash (prior to C++11)
    • A backslash followed by a character that is not part of the specified escape codes in a character or string constant (this is implementation-defined in C++11).
    • Exceeding implementation limits (number of nested blocks, number of functions in a program, available stack space …)
    • Preprocessor numeric values that can’t be represented by a long int
    • Preprocessing directive on the left side of a function-like macro definition
    • Dynamically generating the defined token in a #if expression

    To be classified

    • Calling exit during the destruction of a program with static storage duration
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

All I know about the constraint is it's name ( SYS_C003415 ), but I
I'm looking for CSS library that hold all common css best practices. For example
Drop-down lists, menus and combo boxes are all very common user interface elements. Users
I have some ASP.NET web services which all share a common helper class they
This is a common problem for all developers, I am looking for the best
We have several common libs. Ideally we want them all to use the latest
All front-end developers know the pain of coding for Firefox, then viewing our then
I was advised a while ago that is was common place to use std::vector
DocumentsController#common_query can handle multiple different request styles. i.e. all docs in batch 4 or
All the articles I've found via google are either obsolete or contradict one another.

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.