Resultados da pesquisa a pedido "auto"

1 a resposta

Existe uma maneira de desativar a declaração automática para tipos não regulares?

UPDATE: Existe uma proposta para alterar o significado deauto em certas situações. Avaliação implícita de variáveis e argumentos “auto” [https://isocpp.org/files/papers/N4035.pdf]por Joel Falcou e outros. A avaliação implícita deve: Habilite ...

2 a resposta

Por que as funções lambda descartam a referência do tipo de retorno deduzido por padrão?

No C ++ 14, por que as funções lambda com um tipo de retorno deduzido descartam referências do tipo de retorno por padrão? IIUC, já que as funções lambda do C ++ 14 com um tipo de retorno deduzido (sem um tipo de retorno à direita explícito) têm ...

3 a resposta

C & C ++: Qual é a diferença entre ponteiro para e endereço da matriz?

Código C ++ 11: int a[3]; auto b = a; // b is of type int* auto c = &a; // c is of type int(*)[1]Código C: int a[3]; int *b = a; int (*c)[3] = &a;Os valores deb ec são iguais. Qual é a diferença entreb ec? Por que eles não são do mesmo ...

3 a resposta

Membro de dados `static constexpr auto` inicializado com enum sem nome

Eu estava trabalhando em um projeto C ++ 11 usando apenasclang++-3.4e decidiu compilar usandog++-4.8.2 caso houvesse discrepâncias nos erros produzidos. Acontece que o g ++ rejeita algum código que o clang ++ aceite. Eu reduzi o problema ao MWE ...

2 a resposta

Quais são alguns usos do decltype (auto)?

Em c ++ 14, odecltype(auto) idioma é introduzido. Normalmente, seu uso épermitirauto declarações para usar odecltype regras sobre a expressão dada. Procurando exemplos de uso "bom" do idioma, só consigo pensar em coisas como as seguintes ...

4 a resposta

Forçando auto a ser um tipo de referência em um intervalo para loop

Suponha que eu tenhafoo que é um povoadostd::vector<double>. Eu preciso operar sobre os elementos desse vetor. Estou motivado para escrever for (auto it : foo){ /*ToDo - Operate on 'it'*/ }Mas parece que isso não será gravado de volta parafoo ...

3 a resposta

auto it = vector.begin () tipo resultante não é convertível em const_iterator

Os contêineres são obrigados a fornecer umaiterator tipo que é implicitamente conversível em umconst_iterator. Diante disso, estou tentando usarauto para inicializar um objeto viavector::begin()e use esse objeto resultante emstd::distance onde o ...

1 a resposta

Por que auto x {3} deduz uma lista initializer_list?

eu amoauto em C ++ 11. É maravilhoso. Mas tem uma inconsistência que realmente me dá nos nervos, porque tropeço nela o tempo todo: int i = 3; // i is an int with value 3 int i = int{3}; // i is an int with value 3 int i(3); // i is an int with ...

2 a resposta

Auto como parâmetro em uma função regular é uma extensão do GCC 4.9?

O gcc 4.9 permite o código a seguir, mas o gcc 4.8 e o clang 3.5.0 o rejeitam. void foo(auto c) { std::cout << c.c_str(); }eu recebowarning: ISO C++ forbids use of 'auto' in parameter declaration [-Wpedantic] em 4,9, mas em 4,8 e clang eu ...

3 a resposta

Por que as funções virtuais não podem usar a dedução de tipo de retorno?

n3797 [http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3797.pdf]diz: § 7.1.6.4/14: Uma função declarada com um tipo de retorno que usa um tipo de espaço reservado não deve ser virtual (10.3). Portanto, o seguinte programa está mal ...