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.


12
Por que o uso de tuplas no C ++ não é mais comum?
Por que ninguém parece usar tuplas em C ++, nem a Boost Tuple Library ou a biblioteca padrão para TR1? Eu li muito código C ++ e, muito raramente, vejo o uso de tuplas, mas muitas vezes vejo muitos lugares em que as tuplas resolveriam muitos problemas (geralmente retornando vários …
124 c++  tuples 


3
1.0 é uma saída válida de std :: generate_canonical?
Eu sempre pensei que números aleatórios ficariam entre zero e um, sem1 , ou seja, são números do intervalo semiaberto [0,1). A documentação em cppreference.com de std::generate_canonicalconfirma isso. No entanto, quando executo o seguinte programa: #include <iostream> #include <limits> #include <random> int main() { std::mt19937 rng; std::seed_seq sequence{0, 1, 2, …
124 c++  c++11  random 

8
Devo retornar EXIT_SUCCESS ou 0 de main ()?
É uma pergunta simples, mas continuo vendo respostas conflitantes: a rotina principal de um programa C ++ deve retornar 0ou EXIT_SUCCESS? #include <cstdlib> int main(){return EXIT_SUCCESS;} ou int main(){return 0;} Eles são exatamente a mesma coisa? EXIT_SUCCESSSó deve ser usado com exit()? Eu pensei EXIT_SUCCESSque seria uma opção melhor, porque …
124 c++  c  return-value  main 


14
Negação dupla em C ++
Acabei de entrar em um projeto com uma enorme base de código. Estou lidando principalmente com C ++ e grande parte do código que eles escrevem usa negação dupla para sua lógica booleana. if (!!variable && (!!api.lookup("some-string"))) { do_some_stuff(); } Eu sei que esses caras são programadores inteligentes, é óbvio …
124 c++  boolean 


6
Lambda retornando: isso é legal?
Considere este programa bastante inútil: #include <iostream> int main(int argc, char* argv[]) { int a = 5; auto it = [&](auto self) { return [&](auto b) { std::cout << (a + b) << std::endl; return self(self); }; }; it(it)(4)(6)(42)(77)(999); } Basicamente, estamos tentando fazer um lambda que retorne a si …


3
Como as variáveis ​​embutidas funcionam?
Na reunião de padrões ISO C ++ do Oulu de 2016, uma proposta chamada Variáveis ​​em linha foi votada no C ++ 17 pelo comitê de padrões. Em termos leigos, quais são as variáveis ​​embutidas, como elas funcionam e para que servem? Como as variáveis ​​embutidas devem ser declaradas, definidas …
124 c++  c++17 


7
C ++, loja livre versus pilha
new/deleteDizem que as alocações dinâmicas ocorrem no free-store , enquanto as malloc/freeoperações usam o heap . Eu gostaria de saber se existe uma diferença real, na prática. Os compiladores fazem uma distinção entre os dois termos? ( Loja gratuita e Heap , não new/malloc)

2
Os lambdas do c ++ 11 capturam variáveis ​​que eles não usam?
Quando eu uso [=]para indicar que gostaria que todas as variáveis ​​locais fossem capturadas por valor em um lambda, isso resultaria em todas as variáveis ​​locais na função sendo copiadas ou apenas em todas as variáveis ​​locais usadas pelo lambda ? Então, por exemplo, se eu tiver: vector<int> my_huge_vector(100000); int …
123 c++  lambda  c++11 

30
Existe uma maneira simples de converter enum C ++ em string?
Suponha que tenhamos algumas enumerações nomeadas: enum MyEnum { FOO, BAR = 0x50 }; O que eu pesquisei no Google é um script (qualquer idioma) que varre todos os cabeçalhos do meu projeto e gera um cabeçalho com uma função por enumeração. char* enum_to_string(MyEnum t); E uma implementação com algo …
123 c++  string  enums  scripting 

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.