Resultados da pesquisa a pedido "static-assert"

10 a resposta

Formas de ASSERTAR expressões no momento da criação em C

Estou arrumando um código mais antigo que usa 'números mágicos' em todo o lugar para definir registros de hardware, e gostaria de usar constantes em ...

1 a resposta

Podemos usar static_assert para detectar preenchimento em uma estrutura?

Este é um acompanhamento para este outroPergunta, questão [https://stackoverflow.com/q/48147422/3545273] Eu estava tentando estabelecer em tempo de compilação se uma implementação específica havia adicionado preenchimento sem nome dentro de uma ...

2 a resposta

Comparando o parâmetro da função constexpr na condição constexpr-if causa erro

Estou tentando comparar um parâmetro de função dentro de uma instrução constexpr-if. Aqui está um exemplo simples: constexpr bool test_int(const int i) { if constexpr(i == 5) { return true; } else { return false; } }No entanto, quando eu ...

4 a resposta

Usando std :: extension em std :: array

Eu tenho uma função de modelo e querostatic_assert esse tipo tem um tamanho de três. Este código ilustra o que estou tentando fazer, mas não funciona: template < typename T > void foo( T& param ) { // This line is the one that I need to figure ...

1 a resposta

Como restringir o parâmetro do modelo apenas ao ponteiro ou ao iterador de acesso aleatório?

Existe uma maneira de restringir o tipo de parâmetro de uma função de modelo a apenas ponteiros ou iteradores de acesso aleatório? Digamos que estou desenvolvendo uma função de classificação que funcione apenas com contêineres acessíveis ...

2 a resposta

Otimização, afirmações e modo de liberação

Considere uma função void f() { assert(condition); ... }No modo de depuração, onde as declarações são ativadas, o compilador é livre para assumircondition é válido, pois o código restante não será executado se não for. No entanto, no modo de ...

2 a resposta

estática afirma que o nome do tipo de modelo T NÃO está completo?

Existe uma maneira de static_assert que um tipo T éNãoconcluir nesse ponto em um cabeçalho? A idéia é ter um erro de compilação se alguém adicionar #includes no caminho em lugares que não deveriam estar. relacionados:Como escrever o modelo ...

2 a resposta

Por que static_assert no modelo me dá um resultado diferente com expressões equivalentes?

Eu notei um comportamento estranho destatic_assert: #include <iostream> template <typename T, unsigned int D> struct Vec { static_assert(D && 0, "Invalid dimension for vector!"); }; template <typename T> struct Vec<T, 1> {union {T x, r;};}; ...

2 a resposta

Como proteger o CRTP contra o fornecimento de superclasse errada? [duplicado]

Esta pergunta já tem uma resposta aqui: Como evitar erros ao usar o CRTP? [/questions/4417782/how-to-avoid-errors-while-using-crtp] 5 respostasNopadrão curiosamente recorrente [http://en.wikipedia.org/wiki/Curiously_recurring_template_pattern], ...

2 a resposta

Como imprimir o resultado de um cálculo em tempo de compilação em C ++?

Eu escrevi várias funções constexpr e as uso em static_asserts para controlar alguns limites de recursos. Mas eu gostaria de não apenas aplicar o predicado em tempo de compilação, mas também ver os valores reais calculados durante o processo ...