Resultados da pesquisa a pedido "language-lawyer"

4 a resposta

Como o terminador de cadeia '\ 0' tem o mesmo valor que a constante inteira 0?

Eu tenho o seguinte código - #include <stdio.h> #define LENGTH 5 int main(){ char* ch[LENGTH] = {"Zero", "One", "Two", "Three", "Four"}; char* pc; char** ppc; for(int i=0; i<LENGTH; i++){ ppc = ch+i; pc = *ppc; while(*pc != 0){ printf("%c ", ...

2 a resposta

É uma violação estrita de aliasing alias a struct como seu primeiro membro?

Código de amostra: struct S { int x; }; int func() { S s{2}; return (int &)s; // Equivalent to *reinterpret_cast<int *>(&s) }Eu acredito que isso é comum e considerado aceitável. O padrão garante que não haja preenchimento inicial na estrutura. ...

1 a resposta

Os literais numéricos definidos pelo usuário podem ser imediatamente seguidos por um ponto? [duplicado]

Esta pergunta já tem uma resposta aqui: Erro de compilação ao usar um membro de um literal definido pelo usuário [/questions/38091427/compile-error-when-using-a-member-of-a-user-defined-literal] 1 respostaDesde o C ++ 11, foi possível ...

3 a resposta

O C99 / C11 restringe o qualificador de tipo implica algo para funções sem definição?

Suponha que tenhamos uma declaração de função para a qual não temos acesso à sua definição: void f(int * restrict p, int * restrict q, int * restrict r);Como não sabemos como os ponteiros serão acessados, não podemos saber se uma chamada ...

1 a resposta

A ordem de inicialização das variáveis de modelo constexpr (isto é, inicializadas constantemente) é garantida?

Dept.cppreference.com/w/cpp/language/initialization [http://en.cppreference.com/w/cpp/language/initialization]: Inicialização dinâmica não ordenada, que[sic] aplica-se apenas a membros de dados estáticos do modelo de classe (estático / ...

6 a resposta

Argc pode ser zero em um sistema POSIX?

Dada a definição padrão para o programa principal: int main(int argc, char *argv[]) { ... }Em que circunstâncias podeargc ser zero em um sistema POSIX?

2 a resposta

A marcação do ponteiro em C é indefinida de acordo com o padrão?

Algumas linguagens de tipo dinâmico usammarcação de ponteiro [https://en.wikipedia.org/wiki/Tagged_pointer]como uma maneira rápida de identificar ou restringir o tipo de tempo de execução do valor que está sendo representado. Uma maneira clássica ...

2 a resposta

Dar aos dados um tipo eficaz conta como efeito colateral?

Suponha que eu tenha um pedaço de dados alocados dinamicamente: void* allocate (size_t n) { void* foo = malloc(n); ... return foo; }Desejo usar os dados apontados porfoo como um tipo especial,type_t. Mas eu quero fazer isso mais tarde, e não ...

3 a resposta

Ordem das operações matemáticas comutativas

Eu tenho uma pergunta curiosa (perguntando eu mesma durante a leitura de um código bruto). Vamos olhar para a expressão: double a = c*d*e*2/3*f;onde c, d, e, f são variáveis inicializadas do tipodouble. A norma garante que seria tratada ...

2 a resposta

Evitar estouros de buffer com get [duplicado]

Esta pergunta já tem uma resposta aqui: Por que a função gets é tão perigosa que não deve ser usada? [/questions/1694036/why-is-the-gets-function-so-dangerous-that-it-should-not-be-used] 11 respostasA declaração degets é: char * gets ( char * ...