Perguntas com a marcação «language-lawyer»

Para perguntas sobre os meandros das especificações formais ou oficiais das linguagens e ambientes de programação.



8
Elenco não assinado para assinado eficiente, evitando comportamento definido pela implementação
Eu quero definir uma função que recebe um unsigned intcomo argumento e retorna um intmódulo congruente UINT_MAX + 1 para o argumento. Uma primeira tentativa pode ser assim: int unsigned_to_signed(unsigned n) { return static_cast<int>(n); } Mas, como qualquer advogado de linguagem sabe, a conversão de não assinado para assinado para …









8
Os ramos com comportamento indefinido podem ser considerados inalcançáveis ​​e otimizados como código morto?
Considere a seguinte declaração: *((char*)NULL) = 0; //undefined behavior Evoca claramente um comportamento indefinido. A existência de tal instrução em um determinado programa significa que todo o programa é indefinido ou que o comportamento só se torna indefinido quando o fluxo de controle atinge essa instrução? O programa a seguir …


2
Por que são classes de máquinas de estado assíncrono (e não structs) em Roslyn?
Vamos considerar este método assíncrono muito simples: static async Task myMethodAsync() { await Task.Delay(500); } Quando eu compilo isso com VS2013 (pré-compilador Roslyn), a máquina de estados gerada é uma estrutura. private struct <myMethodAsync>d__0 : IAsyncStateMachine { ... void IAsyncStateMachine.MoveNext() { ... } } Quando eu compilo com VS2015 (Roslyn) …


Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.