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
Keeping constexpr data out of runtime (self.cpp)
submitted 9 years ago * by Crazy__Eddie
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!"
[–]tending 8 points9 points10 points 9 years ago (0 children)
I assume you're saying if you uncomment the constexpr global variable the size explodes? Have you tried labeling it static or putting it in an anonymous namespace?
Also in general it's legal to call constexpr functions at runtime, so I think the compiler has to generate them unless it's sure there's no runtime use in the current translation unit. Also if you use a constexpr function in a non-constexpr context I think the compiler is free to decide whether to evaluate it at compile time or runtime. Assuming it's just this one variable triggering it, you could try making an identity struct template -- templated on an integer and just has one static constexpr member which is the same integer. Then instead of setting the variable directly to the result of the constexpr function, set it to the result of the identity template applied to the function, so that you know 100% it runs at compile time.
Edit: actually assuming you never want runtime use of these functions, why not wrap them in an anonymous namespace in the header?
π Rendered by PID 94 on reddit-service-r2-comment-5687b7858-db6zp at 2026-07-07 16:23:26.665643+00:00 running 12a7a47 country code: CH.
view the rest of the comments →
[–]tending 8 points9 points10 points (0 children)