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.

2
Compilador mostrando o símbolo 'pi' em caso de erro
Eu estava testando um código no Coliru e recebi um resultado estranho. Desci o código e pude reproduzi-lo com este simples trecho de código : int main() { π } A saída em g ++: clang: Por exemplo, usar apenas pi(sem o endereço de) mostra o resultado esperado: main.cpp:3:5: error: …
103 c++  coliru 

5
Vida útil garantida de temporário em C ++?
C ++ fornece uma garantia para a vida útil de uma variável temporária que é criada dentro de uma chamada de função, mas não usada como um parâmetro? Aqui está um exemplo de aula: class StringBuffer { public: StringBuffer(std::string & str) : m_str(str) { m_buffer.push_back(0); } ~StringBuffer() { m_str = …
103 c++ 

4
Por que todo mundo faz typedef sobre os tipos C padrão?
Se você quiser usar o Qt , terá que aceitar quint8, quint16e assim por diante. Se você quiser usar GLib , você tem que bem-vindo guint8, guint16e assim por diante. No Linux existem u32, s16e assim por diante. uC / OS define SINT32, UINT16e assim por diante. E se você …
103 c++  c  stdint 

6
Para que serve __gxx_personality_v0?
Esta é uma pergunta de segunda mão de um site de desenvolvimento de sistema operacional, mas me deixou curioso, pois não consegui encontrar uma explicação decente em lugar nenhum. Ao compilar e vincular um programa C ++ independente usando gcc, às vezes ocorre um erro de vinculador como este: out/kernel.o:(.eh_frame+0x11): …
103 c++  gcc  linker  kernel 

12
Por que os literais de caracteres C são ints em vez de chars?
Em C ++ sizeof('a') == sizeof(char) == 1,. Isso faz sentido intuitivo, uma vez que 'a'é um caractere literal e sizeof(char) == 1conforme definido pelo padrão. No entanto, em C sizeof('a') == sizeof(int),. Ou seja, parece que os literais de caracteres C são, na verdade, inteiros. Alguem sabe por quê? …
103 c++  c  char  sizeof 

10
Por que std :: set não tem uma função de membro “contém”?
Estou usando muito std::set<int>e, frequentemente, só preciso verificar se esse conjunto contém um número ou não. Acho natural escrever: if (myset.contains(number)) ... Mas, devido à falta de um containsmembro, preciso escrever o incômodo: if (myset.find(number) != myset.end()) .. ou não tão óbvio: if (myset.count(element) > 0) .. Existe uma razão …
103 c++  stl  stdset 

2
boost :: flat_map e seu desempenho em comparação com map e unordered_map
É de conhecimento comum em programação que a localidade da memória melhora muito o desempenho devido aos acessos do cache. Recentemente, descobri boost::flat_mapqual é a implementação de um mapa baseada em vetor. Não parece ser tão popular quanto o seu típico map/ unordered_mapentão não consegui encontrar nenhuma comparação de desempenho. …
103 c++  boost  map 


7
Vírgula na macro C / C ++
Digamos que temos uma macro como esta #define FOO(type,name) type name Que poderíamos usar como FOO(int, int_var); Mas nem sempre tão simplesmente: FOO(std::map<int, int>, map_var); // error: macro "FOO" passed 3 arguments, but takes just 2 Claro que poderíamos fazer: typedef std::map<int, int> map_int_int_t; FOO(map_int_int_t, map_var); // OK o que …
103 c++  c  macros  c-preprocessor 

8
C ++ Melhor maneira de obter divisão inteira e resto
Só estou pensando, se quero dividir a por b, e estou interessado no resultado ce no restante (por exemplo, digamos que tenho o número de segundos e quero dividi-lo em minutos e segundos), qual é a melhor maneira de ir sobre isso? Seria int c = (int)a / b; int …
103 c++  division 

2
O que é um renderizador SDL?
Estou começando com SDL2 e tendo alguns problemas para tentar entender o que é um SDL_Renderer. O que é isso? O que isso faz? Qual é a diferença entre SDL_Renderer, SDL_Window, SDL_Surface e SDL_Texture e como eles estão relacionados? Tive problemas com isso ao tentar entender este código introdutório: #include …
103 c++  sdl  terminology  sdl-2 

11
Como converter string em array char em C ++?
Eu gostaria de converter stringpara chararray, mas não char*. Eu sei como converter string para char*(usando mallocou da maneira que postei no meu código) - mas não é isso que eu quero. Eu simplesmente quero converter stringpara char[size]array. É possível? #include <iostream> #include <string> #include <stdio.h> using namespace std; int …

7
Leitura e gravação de arquivo binário
Estou tentando escrever um código para ler um arquivo binário em um buffer e, em seguida, gravar o buffer em outro arquivo. Eu tenho o seguinte código, mas o buffer armazena apenas alguns caracteres ASCII da primeira linha do arquivo e nada mais. int length; char * buffer; ifstream is; …
103 c++  file  binary  buffer 


2
O que && significa em void * p = && abc;
Me deparei com um pedaço de código void *p = &&abc;. Qual é o significado &&disso? Eu sei sobre referências de rvalue, mas acho que &&usado neste contexto é diferente. O que &&indica em void *p = &&abc;?
102 c++  c  gcc  operators 

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.