Resultados da pesquisa a pedido "vtable"

3 a resposta

Por que as funções virtuais não podem usar a dedução de tipo de retorno?

n3797 [http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3797.pdf]diz: § 7.1.6.4/14: Uma função declarada com um tipo de retorno que usa um tipo de espaço reservado não deve ser virtual (10.3). Portanto, o seguinte programa está mal ...

1 a resposta

Existe alguma maneira de despejar o layout da classe de um programa compilado g ++

Ao compilar com g ++, -fdump-class-hierarchy exporta as vtables do programa em um formato (mais ou menos) legível por humanos. No entanto, o arquivo resultante contém apenas informações sobre a vtable, masnão sobre o layout da classe em si. Eu ...

0 a resposta

Eficiência da função virtual e a palavra-chave 'final'

Considere um programa que tenha uma classeFoo contendo uma funçãoFoo::fn declarado assim: virtual void fn();e uma subclasse deFoo chamadoBar. Will declarandoBar::fn como isso: virtual void fn() override final;causar chamadas parafn noBar ou ...

0 a resposta

Deslocamentos do método COM no Delphi

No Delphi, como descubro o endereço de um método COM? Eu posso codificar as compensações //0 is the offset of the QueryInterface method p := TPonterArray(pointer(SomeInterface)^)[0];mas eu preferiria usar nomes simbólicos. O seguinte obviamente ...

2 a resposta

Quantos vptr terá um objeto de classe (usa herança única / múltipla)?

Quantos vptrs geralmente são necessários para um objeto cujo clas (filho) possui herança única com uma classe base que herda múltiplos de base1 e base2. Qual é a estratégia para identificar quantos vptrs um objeto forneceu que possui ...

1 a resposta

Os tipos de POD C ++ têm RTTI?

Pelo que entendi como o RTTI é implementado em vários compiladores C ++ (como o GCC), um ponteiro para otype_info os dados são armazenados novtable dados de cada classe. E também como ...

2 a resposta

Tabela V em C ++: Parte do idioma ou dependente do compilador?

A tabela v (tabela de método virtual [http://en.wiki,pedia.org/wiki/Virtual_method_table]) faz parte da especificação C ++ ou cabe ao compilador resolver as pesquisas de método virtual? Caso faça parte da especificação: Por quê? Eu acho que é ...

3 a resposta

Detalhes de implementação do despacho virtual

Antes de tudo, quero deixar claro queEu entendo que não há noção de vtables e vptrs no padrão C ++. No entanto, acho que praticamente todas as implementações implementam o mecanismo de envio virtual da mesma maneira (corrija-me se estiver errado, ...

11 a resposta

Implementações alternativas de mecanismos virtuais?

C ++ suporta ligação dinâmica através de mecanismo virtual. Mas, pelo que entendi, o mecanismo virtual é um detalhe de implementação do compilador e o padrão apenas especifica os comportamentos do que deve acontecer em cenários específicos. A ...

1 a resposta

Como as interfaces java são implementadas internamente? (vtables?)

C ++ tem herança múltipla. A implementação de herança múltipla no nível da montagem pode ser bastante complicada, mas há boasdescrições [http://en.wikipedia.org/wiki/Virtual_table]on-line sobre como isso é feito normalmente (vtables, correções de ...