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
Qual é o propósito de usar um sindicato com apenas um membro?
Quando eu estava lendo o código-fonte seastar , notei que havia uma estrutura de união chamada tx_sideque tinha apenas um membro. Isso é algum truque para lidar com um determinado problema? Para sua informação, colo a tx_sideestrutura abaixo: union tx_side { tx_side() {} ~tx_side() {} void init() { new (&a) …
89 c++  c++14  unions 

6
Alguma razão para não usar lambdas globais?
Tínhamos uma função que usava um lambda não captador interno para si mesmo, por exemplo: void foo() { auto bar = [](int a, int b){ return a + b; } // code using bar(x,y) a bunch of times } Agora, a funcionalidade implementada pelo lambda tornou-se necessária em outro lugar, …
89 c++  lambda 

8
O Python é mais rápido e mais leve que o C ++? [fechadas]
Como está atualmente, esta pergunta não se encaixa em nosso formato de perguntas e respostas. Esperamos que as respostas sejam apoiadas por fatos, referências ou experiência, mas esta pergunta provavelmente irá solicitar debate, argumentos, pesquisas ou discussão extensa. Se você acha que esta questão pode ser melhorada e possivelmente reaberta, …

5
Por que um lambda tem o tamanho de 1 byte?
Estou trabalhando com a memória de alguns lambdas em C ++, mas estou um pouco confuso com o tamanho deles. Aqui está meu código de teste: #include <iostream> #include <string> int main() { auto f = [](){ return 17; }; std::cout << f() << std::endl; std::cout << &f << std::endl; …
89 c++  c++11  lambda  c++14  sizeof 

3
Como fazer um typedef condicional em C ++
Estou tentando fazer algo assim: #include <iostream> #include <random> typedef int Integer; #if sizeof(Integer) <= 4 typedef std::mt19937 Engine; #else typedef std::mt19937_64 Engine; #endif int main() { std::cout << sizeof(Integer) << std::endl; return 0; } mas recebo este erro: error: missing binary operator before token "(" Como posso fazer corretamente …
89 c++  c++11 


5
O que seria 'std :;' fazer em c ++?
Recentemente, estava modificando algum código e encontrei um bug pré-existente em uma linha de uma função: std:;string x = y; Este código ainda é compilado e está funcionando conforme o esperado. A definição da string funciona porque esse arquivo é using namespace std;, portanto, std::era desnecessário em primeiro lugar. A …
89 c++  std  colon 

2
Por que o caractere 'A' seria comparado com 0x41?
Eu estava olhando um código C ++ e encontrei a seguinte construção: if('A' == 0x41) { // ... } else if('A' == 0xc1) { // ... } else { // ... } Recebo um aviso do Visual Studio dizendo: Aviso C4127 expressão condicional é constante. O Visual Studio está claramente …
89 c++  string 

2
GNU GCC (g ++): Por que ele gera vários dtors?
Ambiente de desenvolvimento: GNU GCC (g ++) 4.1.2 Enquanto estou tentando investigar como aumentar a 'cobertura de código - particularmente a cobertura de função' em testes de unidade, descobri que parte da classe dtor parece ser gerada várias vezes. Alguns de vocês têm ideia do porquê, por favor? Eu tentei …
89 c++  g++  destructor 


4
Por que memmove é mais rápido que memcpy?
Estou investigando pontos de acesso de desempenho em um aplicativo que gasta 50% do tempo no memmove (3). O aplicativo insere milhões de inteiros de 4 bytes em matrizes classificadas e usa memmove para deslocar os dados "para a direita" a fim de liberar espaço para o valor inserido. Minha …
89 c++  c  performance  memory 


8
Qual contêiner STL devo usar para um FIFO?
Qual contêiner STL atenderia melhor às minhas necessidades? Eu basicamente tenho um contêiner de 10 elementos de largura no qual eu continuamente push_backnovos elementos enquanto pop_frontingiro o elemento mais antigo (cerca de um milhão de vezes). No momento, estou usando um std::dequepara a tarefa, mas std::listgostaria de saber se a …
89 c++  stl  fifo 

12
Como declarar um array de strings em C ++?
Estou tentando iterar todos os elementos de uma matriz estática de strings da melhor maneira possível. Quero ser capaz de declará-lo em uma linha e adicionar / remover elementos facilmente sem ter que controlar o número. Parece muito simples, não é? Possíveis não soluções: vector<string> v; v.push_back("abc"); b.push_back("xyz"); for(int i …
89 c++  arrays 

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.