Qual é a diferença entre uma classe de modelo e um modelo de classe?
Qual é a diferença entre uma classe de modelo e um modelo de classe?
Quero pular do meio de uma switchinstrução para a instrução de loop no seguinte código: while (something = get_something()) { switch (something) { case A: case B: break; default: // get another something and try again continue; } // do something for a handled something...
Tendo passado algum tempo desenvolvendo em C #, percebi que se você declarar uma classe abstrata com o propósito de usá-la como uma interface, não poderá instanciar um vetor dessa classe abstrata para armazenar instâncias das classes filhas. #pragma once #include <iostream> #include...
#include <stdio.h> int main() { float a = 1234.5f; printf("%d\n", a); return 0; } Ele exibe um 0!! Como isso é possível? Qual é o raciocínio? Eu coloquei deliberadamente um %dna printfdeclaração para estudar o comportamento de printf.
Como está atualmente, esta pergunta não se encaixa em nosso formato de perguntas e respostas. Esperamos que as respostas sejam apoiadas por fatos, referências ou experiência, mas esta pergunta provavelmente irá solicitar debate, argumentos, pesquisas ou discussão extensa. Se...
Eu sei que isso pode parecer bastante básico para geeks. Mas quero deixar isso bem claro. Quando eu quero usar uma DLL Win32, geralmente eu apenas chamo as APIs como LoadLibrary () e GetProcAdderss (). Mas recentemente, estou desenvolvendo com DirectX9 e preciso adicionar os arquivos d3d9.lib ,...
Aprendi que nunca posso acessar uma variável privada, apenas com uma função get na classe. Mas então por que posso acessá-lo no construtor de cópia? Exemplo: Field::Field(const Field& f) { pFirst = new T[f.capacity()]; pLast = pFirst + (f.pLast - f.pFirst); pEnd = pFirst + (f.pEnd -...
Gostaria de saber se é possível escrever uma função que retorna uma função lambda em C ++ 11. Claro, um problema é como declarar tal função. Cada lambda tem um tipo, mas esse tipo não pode ser expresso em C ++. Eu não acho que isso funcionaria: auto retFun() -> decltype ([](int x) ->...
Acho que não, mas gostaria de confirmar. Existe alguma utilidade para const Foo&&, onde Fooestá um tipo de classe?
Eu preciso especializar a função de membro do modelo para algum tipo (digamos duplo ). Funciona bem enquanto a classe em Xsi não é uma classe de modelo, mas quando eu faço um modelo, o GCC começa a dar erros de tempo de compilação. #include <iostream> #include <cmath> template...
std::arrayé muito superior aos arrays C. E mesmo se eu quiser interoperar com o código legado, posso apenas usar std::array::data(). Existe alguma razão para eu querer uma matriz da velha escola?
Existe alguma diferença entre envolver os conteúdos do arquivo de cabeçalho e cpp em um namespace ou envolver apenas o conteúdo do cabeçalho e, em seguida, usar o namespace no arquivo cpp? Por diferença, quero dizer qualquer penalidade de desempenho de classificação ou semântica ligeiramente...
Estou dando uma olhada nos arquivos .dll, entendo seu uso e estou tentando entender como usá-los. Eu criei um arquivo .dll que contém uma função que retorna um inteiro chamado funci () usando este código, eu (acho) importei o arquivo .dll para o projeto (não há reclamações): #include...
Suponha que eu tenha 2 ponteiros: int *a = something; int *b = something; Se eu quiser compará-los e ver se eles apontam para o mesmo lugar, (a == b) funciona?
Por que o código a seguir produz esse erro mesmo que c seja uma estrutura e tenha uma herança pública por padrão ?? struct c { protected: int i; public: c(int ii=0):i(ii){} virtual c *fun(); }; c* c::fun(){ cout<<"in c"; return &c(); } class d : c { public: d(){} d* fun()...
Considere um par de dois arquivos de origem: um arquivo de declaração de interface ( *.hou *.hpp) e seu arquivo de implementação ( *.cpp). Deixe o *.harquivo ser assim: namespace MyNamespace { class MyClass { public: int foo(); }; } Eu vi duas práticas diferentes para usar namespaces em...
Se eu declarar um objeto envolvido em um ponteiro compartilhado: std::shared_ptr<myClass> myClassObject(new myClass()); então eu queria passá-lo como um argumento para um método: DoSomething(myClassObject); //the called method void DoSomething(std::shared_ptr<myClass> arg1) {...
Parece que não consigo fazer isso funcionar. Fiz um aplicativo de console simples (que depende de websocket++biblioteca) que precisa de Boostbibliotecas .. mas quando tento compilar, obtenho: erro fatal LNK1104: não é possível abrir o arquivo 'libboost_system-vc110-mt-gd-1_51.lib' No...
memset()é declarado para retornar void*que é sempre o mesmo valor que o endereço passado para a função. Qual é a utilidade do valor de retorno? Por que não volta void?
Considere o seguinte código C ++: void* a = &a; Por que o compilador não reclama por usar um identificador não declarado? Além disso, o que o compilador considera ser a variável a? É um ponteiro para um objeto vazio ou é um ponteiro para um void*ponteiro?