Resultados da pesquisa a pedido "language-lawyer"

2 a resposta

O `const &&` se liga a todos os pré-valores (e xvalores)?

O padrão C ++ define as seguintes funções excluídas; template <class T> void ref(const T&&) = delete; template <class T> void cref(const T&&) = delete;Isso é para ajudar a garantir que as funções não sejam mal utilizadas, impedindo-as de ...

1 a resposta

É seguro converter um ponteiro alocado de pilha em um ponteiro para um VLA?

Se eu tenho um ponteiro para algum espaço alocado de pilha que representa uma matriz bidimensional típica de linha principal, é seguro converter esse ponteiro em um ponteiro equivalente a um VLA para sub-script conveniente? Exemplo: // // ...

3 a resposta

Por que lançar um tipo de exceção verificado é permitido neste caso?

Notei por acidente que issothrow A instrução (extraída de algum código mais complexo) compila: void foo() { try { } catch (Throwable t) { throw t; } }Por um momento breve, mas feliz, pensei que as exceções verificadas finalmente haviam ...

1 a resposta

Falha na herança do construtor com boost :: multiprecision :: mpz_int

Eu tentei criar uma classe derivada deboost::multiprecision::mpz_int e herdar os construtores da classe base: #include <boost/multiprecision/gmp.hpp> using namespace boost::multiprecision; struct Integer: mpz_int { using mpz_int::mpz_int; };g ++ ...

2 a resposta

Qual é a justificativa para "nenhum diagnóstico é necessário"?

A maioria das pessoas está familiarizada com as notas de comportamento "indefinidas" e "não especificadas" em C ++, mas e quanto a "nenhum diagnóstico necessário"? Eu notoesta pergunta e resposta ...

6 a resposta

Classes com operadores de conversão de modelo e não modelo na condição da instrução switch

O problema surgiu originalmente emessa questão [https://stackoverflow.com/questions/25046418/internal-compiler-error-templated-conversion-operator-in-switch-expression] . Considere o seguinte código: class Var { public: operator int () const { ...

1 a resposta

Os membros da classe podem ser definidos fora do namespace no qual são declarados?

Às vezes, encontro código como o seguinte (na verdade, alguns assistentes de classe criam esse código): // C.h namespace NS { class C { void f(); }; }e no arquivo de implementação: // C.cpp #include "C.h" using namespace NS; void C::f() { //... ...

1 a resposta

A gravação no & str [0] buffer (de um std: string) está bem definida no C ++ 11?

char hello[] = "hello world"; std::string str; str.resize(sizeof(hello)-1); memcpy(&str[0], hello, sizeof(hello)-1);Esse código é um comportamento indefinido no C ++ 98. É legal em C ++ 11?

2 a resposta

O tamanho dos ponteiros para classes não sindicais é diferente?

Entendo que existem plataformas de HW nas quais você precisa de mais informações para apontar para umchar do que você precisa apontar para umint (a plataforma possui bytes não endereçáveis, portanto, um ponteiro parachar precisa armazenar um ...

3 a resposta

A conversão entre ponteiro para T, matriz de T e ponteiro para matriz de T é um comportamento indefinido?

Considere o seguinte código. #include <stdio.h> int main() { typedef int T; T a[] = { 1, 2, 3, 4, 5, 6 }; T(*pa1)[6] = (T(*)[6])a; T(*pa2)[3][2] = (T(*)[3][2])a; T(*pa3)[1][2][3] = (T(*)[1][2][3])a; T *p = a; T *p1 = *pa1; //T *p2 = *pa2; ...