Perguntas com a marcação «casting»

A transmissão é um processo em que um tipo de objeto é explicitamente convertido em outro tipo, se a conversão for permitida. Esse processo pode levar a uma alteração no valor.

3
A conversão dupla para int não assinado no Win32 está truncando para 2.147.483.648
Compilando o seguinte código: double getDouble() { double value = 2147483649.0; return value; } int main() { printf("INT_MAX: %u\n", INT_MAX); printf("UINT_MAX: %u\n", UINT_MAX); printf("Double value: %f\n", getDouble()); printf("Direct cast value: %u\n", (unsigned int) getDouble()); double d = getDouble(); printf("Indirect cast value: %u\n", (unsigned int) d); return 0; } Saídas (MSVC …



1
Um operador de elenco pode ser explícito?
Quando se trata de construtores, adicionar a palavra-chave explicitevita que um compilador entusiasmado crie um objeto quando essa não era a primeira intenção do programador. Esse mecanismo também está disponível para operadores de fundição? struct Foo { operator std::string() const; }; Aqui, por exemplo, gostaria de ser capaz de lançar …

3
Por que anular o valor de retorno do free?
Estou lendo um livro ( Programming with POSIX Threads by Butenhof, 1997) que usa C e me deparei com a seguinte linha: (void)free(data); Aqui, dataé apenas um ponteiro para uma estrutura alocada, data = malloc(sizeof(my_struct_t)); Por que o resultado de freeser lançado para void? Do meu entendimento de C, isso …
82 c  casting  free  void  legacy-code 




1
Por que em C ++ o static_cast <não assinado> de números negativos difere se o número é constante ou não
Quais são as regras do C ++ que significam igual é falso ? Dado: float f {-1.0}; bool equal = (static_cast&lt;unsigned&gt;(f) == static_cast&lt;unsigned&gt;(-1.0)); Por exemplo, https://godbolt.org/z/fcmx2P #include &lt;iostream&gt; int main() { float f {-1.0}; const float cf {-1.0}; std::cout &lt;&lt; std::hex; std::cout &lt;&lt; " f" &lt;&lt; "=" &lt;&lt; static_cast&lt;unsigned&gt;(f) &lt;&lt; …
28 c++  casting 


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.