Perguntas com a marcação «c++»

163
Quais são as vantagens de usar o nullptr?

Conceitualmente, esse trecho de código faz a mesma coisa para os três ponteiros (inicialização segura do ponteiro): int* p1 = nullptr; int* p2 = NULL; int* p3 = 0; E então, quais são as vantagens de atribuir ponteiros nullptrsobre a atribuição de valores NULLou

162
O que é string_view?

string_viewfoi um recurso proposto no TS Fundamentals da biblioteca C ++ ( N3921 ) adicionado ao C ++ 17 Tanto quanto eu entendo, é um tipo que representa algum tipo de "conceito" de string que é uma visualização de qualquer tipo de contêiner que possa armazenar algo visível como uma...

161
Como evitar o estouro em expr. A * B - C * D

Preciso calcular uma expressão que se pareça com:, A*B - C*Donde estão seus tipos: signed long long int A, B, C, D; Cada número pode ser muito grande (sem exceder o seu tipo). Embora A*Bpossa causar estouro, ao mesmo tempo, a expressão A*B - C*Dpode ser muito pequena. Como posso calcular...

161
std :: function vs template

Graças ao C ++ 11, recebemos a std::functionfamília de wrappers functor. Infelizmente, continuo ouvindo apenas coisas ruins sobre essas novas adições. O mais popular é que eles são terrivelmente lentos. Eu testei e eles realmente são ruins em comparação com os modelos. #include...

161
Por que exigimos requer requer?

Um dos cantos dos conceitos do C ++ 20 é que existem certas situações nas quais você precisa escrever requires requires. Por exemplo, este exemplo de [expr.prim.req] / 3 : Uma expressão de requisitos também pode ser usada em uma cláusula de requisitos ([temp]) como uma maneira de escrever...

160
Pilha, estática e heap em C ++

Eu procurei, mas não entendi muito bem esses três conceitos. Quando devo usar a alocação dinâmica (na pilha) e qual é a sua real vantagem? Quais são os problemas de estática e pilha? Eu poderia escrever um aplicativo inteiro sem alocar variáveis ​​na pilha? Ouvi dizer que outras línguas...

160
Como obter o ponteiro std :: vector para os dados brutos?

Estou tentando usar std::vectorcomo uma charmatriz. Minha função recebe um ponteiro nulo: void process_data(const void *data); Antes eu simplesmente usava esse código: char something[] = "my data here"; process_data(something); O que funcionou como esperado. Mas agora eu preciso da dinâmica...

159
Modelos C ++ que aceitam apenas certos tipos

Em Java, você pode definir classe genérica que aceita apenas tipos que estendem a classe de sua escolha, por exemplo: public class ObservableList<T extends List> { ... } Isso é feito usando a palavra-chave "extends". Existe algum equivalente simples a essa palavra-chave em C ++?...

159
C ++ valarray vs. vetor

Eu gosto muito de vetores. Eles são bacanas e rápidos. Mas eu sei que essa coisa chamada valarray existe. Por que eu usaria um valarray em vez de um vetor? Eu sei que os valarrays têm um pouco de açúcar sintático, mas, além disso, quando eles são

159
Como imprimir no console ao usar o Qt

Estou usando Qt4 e C ++ para fazer alguns programas em computação gráfica. Eu preciso ser capaz de imprimir algumas variáveis ​​no meu console em tempo de execução, sem depuração, mas coutparece não funcionar, mesmo se eu adicionar as bibliotecas. Existe uma maneira de fazer...