Resultados da pesquisa a pedido "constexpr"
Autoinicialização de uma variável estática constexpr, está bem formada?
Dada a seguinte declaração no espaço para nome global: constexpr int x = x;Isso é bem formado? O rascunho da seção padrão do C ++ 143.6.2 [basic.start.init] diz: Variáveis com duração de armazenamento estático (3.7.1) ou com duração ...
Jogue na função constexpr
O seguinte trecho de código é compilado no clang ++ 3.7.0, mas é negado pelo g ++ 5.3.1. Ambos têm-std=c++14 opção. Qual compilador está correto? Alguém sabe onde no padrão fala sobre isso? Obrigado. #include <stdexcept> using namespace std; ...
Inicializando um constexpr com uma const, - int vs float
Eu estou querendo saber por que o número inteiroii é inicializado em tempo de compilação, mas não o floatff aqui: int main() { const int i = 1; constexpr int ii = i; const float f = 1.0; constexpr float ff = f; }É o que acontece quando tento ...
Por que devo preferir constexpr estático int em uma classe ao invés de enum para constantes integrais no nível de classe?
Atualização do C ++ 17: static constexpr variáveis são implicitamenteinline então não há definição externa necessária. Pergunta original: Digamos que eu tenha uma lista de constantes como struct Cls { static constexpr int N = 32; static ...
Erro de compilação do CRTP
O seguinte será compilado com o GCC 5.2, mas não com o Visual Studio 2015. template <typename Derived> struct CRTP { static constexpr int num = Derived::value + 1; }; struct A : CRTP<A> { static constexpr int value = 5; }; Reclama queA não tem ...
Posso obter nomes de tipo C ++ de maneira constexpr?
Eu gostaria de usar o nome de um tipo em tempo de compilação. Por exemplo, suponha que eu tenha escrito: constexpr size_t my_strlen(const char* s) { const char* cp = s; while(*cp != '\0') { cp++; }; return cp - s; }e agora eu quero ...
constexpr vs const vs constexpr const
const-vs-constexpr-on-variable [https://stackoverflow.com/a/13347355/6053907] O que o cara diz sobre o constexpr está certoif double é usado (oufloat claro). No entanto, se você alterar o tipo var dedouble para um tipo inteiro como int, char, ...
Por que std :: array :: size constexpr com tipos simples (int, double,…) mas não std :: vector (GCC)?
O código a seguir: std::array<int, 4> arr1; std::array<float, arr1.size()> arr2;... compila com ambosgcc eclang Porquestd::array::size [http://en.cppreference.com/w/cpp/container/array/size]é consideradoconstexpr. Mas o seguinte não compila ...
Como escrever a função de troca constexpr para alterar a endianess de um número inteiro?
Como escrever umconstexpr função para trocar endianess de um número inteiro, sem depender de extensões do compilador e você pode dar um exemplo de como fazê-lo?
Por que essa função de membro estático constexpr não é vista como constexpr quando chamada?
Por que é issoconstexpr static função membro, identificada pelo//! Nah comentário, não visto comoconstexpr quando chamado? struct Item_id { enum Enum { size, position, attributes, window_rect, max_window_size, _ }; static constexpr int n_items_ ...