Eu quero usar std :: string simplesmente para criar um buffer dynamic e de iterar através dele usando um índice. É resize () a única function para realmente alocar o buffer? Eu tentei reserve (), mas quando tento acessar a cadeia via índice, afirma. Além disso, quando a capacidade padrão da string parece ser de […]
Duplicar Possível: Existe uma diferença de desempenho entre i ++ e ++ i em C ++? Eu estou escrevendo um programa onde um iterador é usado para fazer um loop através de um std :: vector. Alguém me disse que fazer isso na instrução for leva a um código mais eficiente. Em outras palavras, eles […]
Eu tenho a seguinte class com um membro unordered_map e uma function hash definida para o pair class abc {public : unordered_map < pair , int > rules ; unsigned nodes; unsigned packet ; }; namespace std { template class hash < std::pair >{ public : size_t operator()(const pair &x ) const { size_t h […]
Acabei de encontrar decréscimo do iterador end() nos códigos-fonte da minha empresa e parece estranho para mim. Tanto quanto me lembro, estava trabalhando em algumas plataformas, mas não para as outras. Talvez eu esteja errado, no entanto não consegui encontrar nada útil em padrão sobre isso. Standard apenas diz que end() retorna um iterador que […]
Eu gostaria de copiar o conteúdo de um std :: map para outro. Posso usar o std::copy para isso? Obviamente, o seguinte código não funcionará: int main() { typedef std::map Map; Map m1; m1[3] = 0.3; m1[5] = 0.5; Map m2; m2[1] = 0.1; std::copy(m1.begin(), m1.end(), m2.begin()); return 0; } Isso não funcionará porque a […]
std::map myMap; std::map::iterator i = m_myMap.find(some_key_string); if(i == m_imagesMap.end()) return NULL; string *p = &i->first; A última linha é válida? Eu quero armazenar este ponteiro p em outro lugar, será válido para toda a vida do programa? Mas o que acontecerá se eu adicionar mais elementos a este mapa (com outras chaves exclusivas) ou remover […]
Esse é o ponto. Como escrever e ler arquivos binários com std :: vector dentro deles? Eu estava pensando em algo como: //============ WRITING A VECTOR INTO A FILE ================ const int DIM = 6; int array[DIM] = {1,2,3,4,5,6}; std::vector myVector(array, array + DIM); ofstream FILE(Path, ios::out | ofstream::binary); FILE.write(reinterpret_cast(&myVector), sizeof(vector) * 6); //=========================================================== Mas […]
Eu tenho uma class que representa um usuário chamado Nick e eu quero usar std::find_if nele, onde eu quero encontrar se o vetor userlist tem um object incluído com o mesmo nome de usuário que eu passo. Eu fiz algumas tentativas tentando crie um novo object Nick para o nome de usuário que desejo testar […]
Estou tentando aprender modelos e me deparei com esse erro de confusão. Eu estou declarando algumas funções em um arquivo de header e quero fazer um arquivo de implementação separado onde as funções serão definidas. Aqui está o código que chama o header (dum.cpp): #include #include #include #include “dumper2.h” int main() { std::vector v; for […]
Em geral, qual é a melhor maneira de armazenar dados binários em C ++? As opções, tanto quanto eu posso dizer, praticamente se resumem a usar strings ou vetores s. (Vou omitir a possibilidade de char * se malloc () s, já que estou me referindo especificamente ao C ++). Normalmente eu uso apenas uma […]