Région de recherche :

Date :

https://stackoverflow.com › questions › 8936549

c++ - constexpr overloading - Stack Overflow

Is it possible for a standard-compliant C++11 implementation to allow function overloading based on the arguments being constexpr, or would this require updating the standard? If it is not allowed, was it intentionally not allowed?

https://stackoverflow.com › questions › 17744842

Guidelines to do constexpr operator-overloading? - Stack Overflow

A constexpr operator* cannot call operator*= because the latter modifies its (implicit) left argument. Furthermore, there is no overloading on constexpr, so adding an extra constexpr operator* to the existing operator* results in an overload resolution ambiguity. My current approach is:

https://en.cppreference.com › w › cpp › language › constexpr

constexpr specifier (since C++11) - cppreference.com

The constexpr specifier declares that it is possible to evaluate the value of the function or variable at compile time. Such variables and functions can then be used where only compile time constant expressions are allowed (provided that appropriate function arguments are given).

https://en.cppreference.com › w › cpp › language › operators

operator overloading - cppreference.com

When an operator appears in an expression, and at least one of its operands has a class type or an enumeration type, then overload resolution is used to determine the user-defined function to be called among all the functions whose signatures match the following:

https://learn.microsoft.com › fr-fr › cpp › cpp › constexpr-cpp

constexpr (C++) | Microsoft Learn

Le mot clé constexpr a été introduit dans C++11 et amélioré dans C++14. Cela signifie expression constante. Comme const, cela peut être appliqué aux variables : une erreur du compilateur est générée lorsque du code tente de modifier la valeur.

https://www.cppstories.com › 2021 › constexpr-new-cpp20

constexpr Dynamic Memory Allocation, C++20 - C++ Stories

constexpr has become a major feature for compile-time programming in C++. Introduced in a simple form in C++11 evolved into almost another “sub-language”, an alternative to regular template code. In C++20 you can even use std::vector and std::string in constexpr context!

https://en.cppreference.com › w › c › language › constexpr

constexpr specifier (since C23) - cppreference.com

A scalar object declared with the constexpr storage-class specifier is a constant. It must be fully and explicitly initialized according to the static initialization rules.

https://runebook.dev › fr › docs › cpp › language › constexpr

C++ - constexpr specifier [fr] - Runebook.dev

constexpr - précise que la valeur d'une variable ou d'une fonction peut apparaître dans constant expressions. Explanation. Le spécificateur constexpr déclare qu'il est possible d'évaluer la valeur de la fonction ou de la variable au moment de la compilation.

https://www.cppstories.com › 2018 › 03 › ifconstexpr

Simplify Code with if constexpr and Concepts in C++17/C++20

As you can see, there are three function overloads for concrete types and one function template for all other types that should support to_string(). This seems to work, but can we convert that into a single function? Can the “normal” if just work? Here’s a test code:

https://en.cppreference.com › w › cpp › language › constant_expression

Constant expressions - cppreference.com

an expression whose evaluation leads to any form of core language undefined or erroneous(since C++26) behavior, except for any potential undefined behavior introduced by standard attributes (since C++11).