JD557 Posted March 23, 2012 at 10:33 AM Report #445296 Posted March 23, 2012 at 10:33 AM Boas, estava aqui a ver um código em C++ e apareceu-me isto: struct Phoneme { char p; unsigned char f[3]; unsigned char w[3]; struct { unsigned char len : 2; unsigned char amp : 4; unsigned char osc : 1; unsigned char plosive : 1; } Shape; }; Já estive a procurar e não sei mesmo para que serve o operador ':' neste caso (visto não haver um '?'). Alguma ideia do que é isto? MIEIC @ FEUP http://project557.blogspot.com/ --- Development Blog Proteja a sua pen: http://lastknight.pt.vu
pmg Posted March 23, 2012 at 10:39 AM Report #445299 Posted March 23, 2012 at 10:39 AM Em C (suponho que seja o mesmo em C++) serve para definir um "bit-field". Cada membro da estrutura usa o numero de bits especificado depois dos : Usa-se para poupar memória. O teu exemplo necessita de 8 bits. Se fossem chars isolados (e cada char usasse 8 bits) precisarias de 8*4 = 32 bits para os quatro membros. What have you tried? Não respondo a dúvidas por PM A minha bola de cristal está para compor; deve ficar pronta para a semana. Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!
JD557 Posted March 23, 2012 at 09:34 PM Author Report #445402 Posted March 23, 2012 at 09:34 PM Muito obrigado. Realmente isso parece uma coisa bastante interessante, muito mais prático que implementar à mão. MIEIC @ FEUP http://project557.blogspot.com/ --- Development Blog Proteja a sua pen: http://lastknight.pt.vu
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now