Articles of stl

Podemos usar uma class definida pelo usuário para a chave em um mapa STL?

Eu preciso de uma chave no mapa, no entanto, achei que deveria ser vários dados. Posso colocar esses dados em uma class definida pelo usuário e colocar toda a class como uma chave no mapa? Isso afetará a eficiência do tempo? Que outras preocupações devem ser aplicadas aqui?

Árvore Estatística de Pedidos em C ++

Preciso de uma tree de statistics de pedidos para contêineres padrão do mapa GCC STL. Eu verifiquei e há algo conhecido como PBDS. Estruturas de dados baseadas em políticas. Esse uso também não está claro para mim. Alguém pode me dizer como usar contêineres de mapa STL para a tree de statistics de pedidos? Mesmo […]

Algoritmos de STL: Por que nenhuma interface adicional para contêineres (adicional aos pares de iteradores)?

Eu estou querendo saber porque o STL não sobrecarrega suas funções do algoritmo de modo que eu possa chamá-las simplesmente fornecendo um recipiente e não tomando a maneira mais detalhada de passar os iteradores begin + end. É claro que eu entendo porque nós também queremos usar um par de iteradores para processar subseqüências de […]

Preciso proteger o access de leitura a um contêiner STL em um ambiente de multithreading?

Eu tenho um contêiner std :: list e esses segmentos: Um thread de escritor que adiciona elementos indefinidamente. Um thread de leitor / gravador que lê e remove elementos enquanto está disponível. Vários encadeamentos de leitores que acessam o TAMANHO do contêiner (usando o método size ()) Existe um mutex normal que protege o access […]

invalidação de iterador std :: vector

Houve algumas perguntas sobre esse assunto antes; meu entendimento é que chamar std::vector::erase só invalidará os iteradores que estão em uma posição após o elemento apagado. No entanto, após apagar um elemento, o iterador nessa posição ainda é válido (desde que, claro, não aponte para end() após o apagamento)? Meu entendimento de como um vetor […]

Segurança de thread de std :: map para operações somente leitura

Eu tenho um std :: map que eu uso para mapear valores (identificações de campo) para uma seqüência de caracteres humana legível. Esse mapa é inicializado uma vez quando meu programa é iniciado antes de qualquer outro encadeamento ser iniciado e, depois disso, nunca é modificado novamente. No momento, eu dou a cada thread sua […]

Por que o std :: string não fornece conversão implícita para o char *?

std::string fornece const char * c_str () const que: Obtenha o equivalente da string C Gera uma sequência de caracteres terminada em nulo (cadeia C) com o mesmo conteúdo que o object de cadeia de caracteres e a retorna como um ponteiro para uma matriz de caracteres. Um caractere nulo de terminação é automaticamente anexado. […]

Multidimensional std :: array

Em C ++, como criar um std::array multidimensional? Eu tentei isso: std::array<std::array, 3> arr = {{5, 8, 2}, {8, 3, 1}, {5, 3, 9}}; Mas isso não funciona. O que estou fazendo errado e como faço para corrigir isso?

Capturando um tempo em milissegundos

O seguinte trecho de código é usado para imprimir a hora nos registros: #define PRINTTIME() struct tm * tmptime; time_t tmpGetTime; time(&tmpGetTime); tmptime = localtime(&tmpGetTime); cout <tm_mday << "/" <tm_mon+1 << "/" <tm_year << " " <tm_hour << ":" <tm_min << ":" <tm_sec<>”; Existe alguma maneira de adicionar milissegundos a isso?

Eu quero converter std :: string em um const wchar_t *

Existe algum método? Meu computador é AMD64. ::std::string str; BOOL loadU(const wchar_t* lpszPathName, int flag = 0); Quando eu usei: loadU(&str); o compilador VS2005 diz: Error 7 error C2664:: cannot convert parameter 1 from ‘std::string *__w64 ‘ to ‘const wchar_t *’ Como eu posso fazer isso?