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

C ++ é uma linguagem de programação de uso geral. Foi originalmente projetado como uma extensão para C e tem uma sintaxe semelhante, mas agora é uma linguagem completamente diferente. Use esta tag para perguntas sobre o código (a ser) compilado com um compilador C ++. Use uma tag específica da versão para perguntas relacionadas a uma revisão padrão específica [C ++ 11], [C ++ 14], [C ++ 17] ou [C ++ 20] etc.

1
Como atribuir um vetor de tipos atômicos?
Como posso atribuir os membros de um vetor com um tipo atômico? #include <iostream> #include <thread> #include <vector> using namespace std; int main() { vector<atomic<bool>> myvector; int N=8; myvector.assign(N,false); cout<<"done!"<<endl; } https://wandbox.org/permlink/lchfOvqyL3YKNivk prog.cc: In function 'int main()': prog.cc:11:28: error: no matching function for call to 'std::vector<std::atomic<bool> >::assign(int&, bool)' 11 | …

3
Use o modelo atual como um parâmetro de modelo para um dos parâmetros de modelo
Estou tentando criar uma estrutura de gráfico genérica, mas estou enfrentando essa dependência circular entre vértices e arestas. Eu defino minhas classes Vertex e Edge da seguinte forma: template<typename EdgeType> struct Vertex { std::vector<EdgeType> successors; }; template<typename EdgeCostType, typename VertexWrapper> struct Edge { EdgeCostType cost; VertexWrapper source; VertexWrapper dest; }; …









1
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 …
8 c++ 

2
Por que uma string vazia literal em uma matriz multidimensional decai para um ponteiro nulo?
Eu quero definir uma matriz multidimensional de string C, inicializada por vários literais de string. Em C, eu faria o seguinte: #include <stdio.h> const char *strArr[2][1] = { {"foo"}, {""}}; int main(void) { printf("%p\t%p\n", strArr[0][0], strArr[1][0]); return 0; } Compilando gcc -std=c18 -pedantic test.ce executando resultados em: $ ./a.out 0x55d95410f004 …

2
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; MyClass() { line …
8 c++  strcpy 

2
Por que uma especialização parcial de modelo de classe em uma classe de modelo correspondente é ambígua com outra especialização parcial sem a correspondência de modelo?
A pergunta pode ser muito difícil de descrever na frase do título, mas aqui está um exemplo mínimo: #include <iostream> #include <type_traits> template <class T, class U, class Enabler> struct my_trait : std::false_type {}; template <class T, class U> struct my_trait<T, U, std::enable_if_t<std::is_same<T, U>::value>> : std::true_type {}; template <class T> …


Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.