Resultados da pesquisa a pedido "macros"
Uso no mundo real de X-Macros
Acabei de saber de Macros [http://en.wikibooks.org/wiki/C_Programming/Preprocessor#X-Macros]. Que usos reais dos X-Macros você já viu? Quando são a ferramenta certa para o trabalho?
Expansão Macro em C ++
Como posso definir uma macro (ou uma solução alternativa para isso) em que o parâmetro está no início da linh #define SINGLETON_IMPLEMENTATION(className) \ ##className* ##className::instance_ = NULL;Isto fornece um aviso ao compilador (GCC ...
Como disparar o __cplusplus (C ++) #ifdef?
#ifdef __cplusplus // C++ code #else // C code #endif A estrutura é essa. Minha pergunta é: como realmente acionar o#ifdef em Quero dizer, no programa? O código que escrevo pode virar#ifdef em Por exemplo, neste caso. é aquel #define ...
Macro / metaprograma C ++ para determinar o número de membros em tempo de compilação
Estou trabalhando em um aplicativo com uma arquitetura semelhante a agente assíncrona / baseada em mensagem. Haverá algumas dezenas de tipos de mensagens distintos, cada um representado por tipos C + class message_a { long long identifier; ...
Como meu código poderia dizer uma constante em tempo de compilação versus uma variáve
Aqui está o meu problema. Eu tenho umBINARY_FLAG macro: #define BINARY_FLAG( n ) ( static_cast<DWORD>( 1 << ( n ) ) )Que pode ser usado assim (cenário "constante"): static const SomeConstant = BINARY_FLAG( 5 );ou assim (cenário ...
possível criar macros C ++ que envolvam sua classe padrão (herdada) em um aplicativ
Então, temos uma classe base de interface simples: class animal { public: animal(int age) : age_(age) { } virtual ~animal(void) { } virtual std::string get_name(void) { return "A generic animal"; } int get_age(void) { return age_; } protected: ...
Oposto ao pré-processador C "stringification"
Ao usar o pré-processador C, pode-se especificar um argumento macro como este: #define TO_STRING(x) "a string with " #xe, quando usado, o resultado é o seguinte: TO_STRING(test) expandirá para:"a string with test" Existe alguma maneira de ...
casting 0 para anular
Na minha implementação do C ++ (implementação do Visual Studio 2008), vejo a seguinte linha em<cassert> #ifdef NDEBUG #define assert(_Expression) ((void)0) Eu não entendo a necessidade de converter 0 para anular. Parece-me que #ifdef NDEBUG ...
O que torna esse arquivo de cabeçalho lento no VS2005 para um rastreamento? (IntelliSense exonerado?)
Eu estava experimentando um projeto C ++ usando o Técnica de hash de tempo de compilação que encontrei aqui [http://www.chrissavoie.com/articles/research/hash2]. As macros funcionam conforme o esperado, e o tempo de compilação é razoável, mas as ...
Macro `__unix__` não definido no MacOS X
Notei que no MacOS X (Lion) a macro__unix__ não está definido. Como o MacOS tem suas raízes no BSD UNIX, não seria esse o caso? possível avisar o compilador / pré-processador que eu quero que ele seja considerado um sistema UNI