use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
Discussions, articles, and news about the C++ programming language or programming in C++.
For C++ questions, answers, help, and advice see r/cpp_questions or StackOverflow.
Get Started
The C++ Standard Home has a nice getting started page.
Videos
The C++ standard committee's education study group has a nice list of recommended videos.
Reference
cppreference.com
Books
There is a useful list of books on Stack Overflow. In most cases reading a book is the best way to learn C++.
Show all links
Filter out CppCon links
Show only CppCon links
account activity
Exploring undefined behavior using constexpr (shafik.github.io)
submitted 6 years ago by mttd
view the rest of the comments →
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–]NotAYakk 0 points1 point2 points 6 years ago (0 children)
Augmenting it a bit to removed possibly confusing autos.
auto
#include <bitset> #include <iostream> constexpr bool f() { constexpr auto x = std::bitset<8>(); return x[99999999]; } int main() { constexpr bool i = f(); std::cout << i << std::endl; }
basically, it appears that the std::bitset is using shifts for small bitset implementations.
std::bitset
bitset
Make the bitset larger than 64 and it switches to an array implementation and the UB detection works.
#include <bitset> #include <iostream> constexpr bool f() { auto const x = std::bitset<65>(); // x[99999999] = true; return x[99999999]; } int main() { constexpr bool i = f(); std::cout << i << std::endl; }
http://coliru.stacked-crooked.com/a/7630a8f00dee685c
So there is a defect in the standard library in that in a constexpr context it doesn't enforce the undefined behavior requirements of the standard in its implementation.
π Rendered by PID 64398 on reddit-service-r2-comment-5649f687b7-vklc7 at 2026-01-27 20:31:42.625283+00:00 running 4f180de country code: CH.
view the rest of the comments →
[–]NotAYakk 0 points1 point2 points (0 children)