Resultados da pesquisa a pedido "c++11"

1 a resposta

Classificando duas matrizes com base em uma com biblioteca padrão (etapas de cópia evitadas)

Eu tenho um código antigo para manter e estava substituindo um QuickSort personalizado que classificava duas matrizes com base na matriz uma por std :: sort. Existe uma maneira de classificar duas matrizes com base em uma delas sem uma etapa de ...

3 a resposta

Evite a realocação de um vetor quando sua dimensão precisar ser incrementada

eu tenho um vector< pair<vector<double> , int>> samples;Este vetor conterá vários elementos. Para eficiência rason, eu o inicializo da seguinte maneira: vector< pair<vector<double> , int>> samples(1000000);Conheço antecipadamente o tamanho (não ...

8 a resposta

C ++: Uma macro pode expandir “abc” para 'a', 'b', 'c'?

Eu escrevi um modelo variadic que aceita um número variável dechar parâmetros, ou seja, template <char... Chars> struct Foo;Eu só estava me perguntando se havia algum truque de macro que me permitisse instanciar isso com sintaxe semelhante ...

1 a resposta

Dê um impulso a filter_graph pela propriedade label do vértice

Atualmente, tenho um gráfico, que acompanhovertices elabels por meio de umexternal map. Então, sempre que eu precisar acessar a propriedade label, encontro o rótulo no mapa e obtenho omapped vertex. /// vertex properties struct VertexData { ...

1 a resposta

boost :: multi_index_container, operações em std :: set dentro do contêiner

Eu criei um boost :: multi_index_container (containerSet) sobre uma classe de contêiner e indexou ocontainerSet porstd::string estd::set<int>. É possível obter o contêiner, que armazena um int específico dentro de seu conjunto? Além disso, é ...

1 a resposta

operador de suporte << em uma macro

Eu gostaria de implementar uma macro que faça o seguinte: #define report(s) print(), throw std::runtime_error(s)print() é uma função que eu sempre chamo para imprimir algumas coisas predefinidas.s precisa apoiar: report("abc"); // ok ...

8 a resposta

Restrições de conversões em C ++ 0x. Sou apenas eu ou isso soa como uma mudança radical?

O C ++ 0x tornará mal formado o código a seguir e um código semelhante, pois requer o chamadorestrição de conversão de umdouble para umint. int a[] = { 1.0 };Gostaria de saber se esse tipo de inicialização é muito usado no código do mundo real. ...

1 a resposta

Essa transformação do compilador é permitida?

Considere este código, ondex ey são inteiros: if (x) y = 42;A transformação do compilador a seguir é permitida? int tmp = y; y = 42; if (!x) y = tmp;contexto: Este é o FAQ de Bjarne Stroustrup: // start with x==0 and y==0 if (x) y = 1; // ...

5 a resposta

Tornando a troca mais rápida, fácil de usar e protegida contra exceções

Eu não consegui dormir na noite passada e comecei a pensar emstd::swap. Aqui está a versão familiar do C ++ 98: template <typename T> void swap(T& a, T& b) { T c(a); a = b; b = c; }Se uma classe definida pelo usuárioFoo usa recursos externos, ...

1 a resposta

Padrão de clone para std :: shared_ptr em C ++

Por que você precisa (para compilar) o intermediárioCloneImplementation estd::static_pointer_cast (consulte a seção3abaixo) para usar o padrão Clone parastd::shared_ptr em vez de algo mais próximo (consulte a Seção2abaixo) para o uso de ponteiros ...