Resultados da pesquisa a pedido "c++14"

5 a resposta

Modelos variáveis e instrução switch?

Eu tenho a seguinte função que pode pegar N argumentos de tipos diferentes e os encaminha para N funções modeladas em cada tipo individual, dessa maneira (exemplo com dois argumentos): template <typename T1, typename T2> bool func(int& counter, ...

2 a resposta

Constante integral passada por valor, tratada como constexpr?

Embora eu tenha usado código como esse antes e fique claro que o compilador tem informações suficientes para funcionar, eu realmente não entendo por que isso compila: template <class T, class I> auto foo(const T& t, I i) { return std::get<i>(t); ...

2 a resposta

Lambda genérico e seu argumento como expressão constante

O código a seguir é aceito pelo GCC 7.2 e clang 5.0.0, mas é rejeitado pelo Microsoft VS 2017 15.5.0 Preview 5 e pelo compilador Intel C ++ 19: struct S { }; constexpr int f(S) { return 0; } int main() { auto lambda = [](auto x) { constexpr int ...

3 a resposta

Ponteiros em c ++ após exclusão

Depois de ler muitos posts sobre isso, quero esclarecer o próximo ponto: A* a = new A(); A* b = a; delete a; A* c = a; //illegal - I know it (in c++ 11) A* d = b; //I suppose it's legal, is it true?Portanto, a questão é sobre o ...

2 a resposta

Por que "literal" é incentivado a decair para `const char *` na correspondência de tipo de argumento C ++?

Estou brincando com operadores de sobrecarga no c ++ 14 e tentei combinar dois tipos de argumentos: any-old-const-char * e a-string-literal. Ou seja, estou tentando ver se posso discriminar entre: const char * run_time;e "compile time"Eu ...

3 a resposta

Por que membros const podem ser modificados em um construtor?

Estou curioso para saber por que os membros const podem ser modificados no construtor. Existe alguma regra padrão na inicialização que substitua a "constância" de um membro? struct Bar { const int b = 5; // default member initialization Bar(int ...

1 a resposta

Qual é o status dos dynarrays?

gcc 4.9 [http://gcc.gnu.org/gcc-4.9/changes.html]agora tem suporte paran3696 (matrizes do tamanho de tempo de execução com duração de armazenamento automático) [http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3639.html] . n3662 ...

2 a resposta

podemos fazer uma ligação profunda com uma função semelhante a c ++ 1y std :: tie ()?

Existe uma maneira de escrever uma variante destd::tie em c ++ 11 / 1y que se vincula profundamente a uma tupla. Ou seja, aquele em quetie((x,y),z) = make_tuple(make_tuple(1,2),3) vinculax, y, z para1, 2 and 3, respectivamente, como no exemplo a ...

2 a resposta

Qual é a diferença entre auto e decltype (auto) ao retornar de uma função?

Eu raramente vejodecltype(auto) mas quando eu faço isso me confunde porque parece fazer a mesma coisa queauto ao retornar de uma função. auto g() { return expr; } decltype(auto) g() { return expr; }Qual é a diferença entre essas duas sintaxes?

2 a resposta

As implementações têm permissão para adicionar membros públicos a tipos padrão?

As implementações da biblioteca padrão do C ++ podem adicionar membros públicos (e protegidos) às interfaces dos tipos padrão? N3797 17.6.5.5 [member.functions] / 2 diz: Uma implementação pode declarar assinaturas adicionais de função de membro ...