Articles of typedef

Converter object-c typedef na sua string equivalente

Supondo que eu tenha um typedef declarado no meu arquivo .h como tal: typedef enum { JSON, XML, Atom, RSS } FormatType; Eu gostaria de criar uma function que converte o valor numérico do typedef em uma seqüência de caracteres. Por exemplo, se a mensagem [self toString:JSON] foi enviada; ele retornaria ‘JSON’. A function seria […]

Typedefs repetidos – inválidos em C mas válidos em C ++?

Eu gostaria de uma referência padrão porque o código a seguir desencadeia um aviso de conformidade em C (testado com gcc -pedantic ; “redefinição typedef“), mas está bem em C ++ ( g++ -pedantic ): typedef struct Foo Foo; typedef struct Foo Foo; int main() { return 0; } Por que não posso definir um […]

C typedef do ponteiro para estrutura

Eu me deparei com o seguinte código: typedef struct { double x; double y; double z; } *vector; Esta é uma definição de tipo válida? O código compila e executa bem. Eu estava apenas curioso para saber se isso é uma prática comum.

Destrutores de tipos construídos (int, char etc.)

Em C ++, o código a seguir apresenta um erro no compilador: void destruct1 (int * item) { item->~int(); } Este código é quase o mesmo, eu digitei o int para outro tipo e algo mágico acontece: typedef int myint; void destruct2 (myint * item) { item->~myint(); } Por que o segundo código funciona? Um […]

Como definir um typedef struct contendo pointers para si mesmo?

Eu estou escrevendo um LinkedList em C, o código abaixo representa minha definição de nó. typedef struct { int value; struct Node* next; struct Node* prev; } Node; Eu entendo (ou acho que eu faço) que struct Node não é o mesmo que typedef struct Node . Concedido meu código compila e executa como é […]

Por que preciso usar typedef typename em g ++, mas não em VS?

Já fazia um tempo desde que o GCC me pegou com este, mas aconteceu hoje. Mas eu nunca entendi porque o GCC requer typedef typename dentro dos templates, enquanto o VS e eu acho que o ICC não. É o typedef typename coisa um “bug” ou um padrão overstrict, ou algo que é deixado para […]

typedef ponteiro const estranheza

por favor considere o seguinte código: typedef struct Person* PersonRef; struct Person { int age; }; const PersonRef person = NULL; void changePerson(PersonRef newPerson) { person = newPerson; } Por algum motivo, o compilador está reclamando sobre o valor somente leitura não atribuível. Mas a palavra-chave const não deve fazer o ponteiro const. Alguma ideia?

uint8_t vs unsigned char

Qual é a vantagem de usar uint8_t sobre unsigned char em C? Eu sei que em quase todos os sistemas uint8_t é apenas um typedef para unsigned char , então por que usá-lo?

Polimorfismo estático de C ++ (CRTP) e usando typedefs de classs derivadas

Eu li o artigo da Wikipedia sobre o padrão de modelo curiosamente recorrente em C ++ para fazer polymorphism estático (read: compile-time). Eu queria generalizá-lo para que eu pudesse alterar os tipos de retorno das funções com base no tipo derivado. (Isso parece ser possível, já que o tipo base conhece o tipo derivado do […]

Existe um equivalente Java ou metodologia para a palavra-chave typedef em C ++?

Vindo de um fundo C e C ++, achei que o uso criterioso do typedef é incrivelmente útil. Você conhece uma maneira de obter uma funcionalidade semelhante em Java, seja ela um mecanismo Java, padrão ou alguma outra maneira eficaz usada?