Perguntas com a marcação «c++»

8
inicializando struct com {0}

Estou depurando algum código que é essencialmente idêntico a isso: struct Foo { int a; int b; }; struct Bar { Bar() {} Foo foo{0}; }; Quando eu faço uma instância de Bar, parece que ambos ae bsão inicializados com zero. Isso é garantido? Onde posso encontrar isso nas

8
Desambiguador de modelo para nomes dependentes

Encontrei o seguinte problema, compilando o seguinte exemplo: template <int N> class Matrix { public: template <int Idx> int head() { return Idx; } }; template <typename T> class Test { static constexpr int RayDim = 3; public: int func() const { Matrix<RayDim> yF;...

8
Falha ao excluir através do destruidor

No programa a seguir, pretendo copiar o char* lineconteúdo de um objeto para outro strcpy. No entanto, quando o programa termina, o destruidor de obj2obras funciona bem, mas o dtor de objfalhas. O gdb mostra endereços diferentes linepara os dois objetos. class MyClass { public: char *line;...

8
Compreendendo a função void (A ())

Este é o meu código #include <iostream> class A { public: int a = 0; A(int i = 0) : a(i) {} }; void func(A()) { std::cout << "Hello" << std::endl; } int main() { A(*p)() = NULL; func(p); } O que me confundiu é que A()in void func(A())é igual a A em (*)()vez do...