Perguntas com a marcação «casting»

91
Lançando CGFloat para Flutuar em Swift

Preciso armazenar um valor como a Float, mas os dados de origem são CGFloat: let myFloat : Float = myRect.origin.x mas isso resulta no erro do compilador: 'NSNumber' não é do subtipo 'Float' Então, se eu lançar explicitamente assim: let myFloat : Float = myRect.origin.x as Float mas isso, por...

90
Lançar o objeto para T

Estou analisando um arquivo XML com a XmlReaderclasse em .NET e pensei que seria inteligente escrever uma função de análise genérica para ler diferentes atributos genericamente. Eu criei a seguinte função: private static T ReadData<T>(XmlReader reader, string value) {...

89
(String) ou .toString ()?

Eu tenho um método com um Object oparâmetro. Nesse método, eu sei exatamente que existe um Stringem "o" que não é nulo. Não há necessidade de verificar ou fazer outra coisa. Tenho que tratá-lo exatamente como um Stringobjeto. Só por curiosidade - o que é mais barato - lance Stringou use...

89
abatido e abatido

Eu sou novo em C # (e OOP ). Quando tenho algum código como o seguinte: class Employee { // some code } class Manager : Employee { //some code } Pergunta 1 : se eu tiver outro código que faça isso: Manager mgr = new Manager(); Employee emp = (Employee)mgr; Aqui Employeeestá um...

88
Converter um ponteiro em um inteiro

Estou tentando adaptar um código existente a uma máquina de 64 bits. O principal problema é que em uma função, o codificador anterior usa um argumento void * que é convertido em um tipo adequado na própria função. Um pequeno exemplo: void function(MESSAGE_ID id, void* param) { if(id == FOO) {...

82
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...