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
Por que std :: ssize () foi introduzido em C ++ 20?
C ++ 20 introduziu a std::ssize()função livre conforme abaixo: template <class C> constexpr auto ssize(const C& c) -> std::common_type_t<std::ptrdiff_t, std::make_signed_t<decltype(c.size())>>; Uma possível implementação parece usar static_cast, para converter o valor de retorno da size()função-membro de cl ass C em sua contraparte assinada. Visto que a size()função-membro de C sempre retorna …
99 c++  stl  unsigned  signed  c++20 

12
Pré-processador C ++ __VA_ARGS__ número de argumentos
Pergunta simples para a qual não consegui encontrar resposta na rede. Em macros de argumento variadic, como encontrar o número de argumentos? Estou bem com pré-processador boost, se tiver a solução. Se fizer diferença, estou tentando converter o número variável de argumentos da macro para aumentar a sequência, lista ou …





13
Função seqüência-zip para c ++ 11?
Com o novo loop for baseado em intervalo, podemos escrever código como for(auto x: Y) {} Qual IMO é uma grande melhoria de (por exemplo) for(std::vector<int>::iterator x=Y.begin(); x!=Y.end(); ++x) {} Pode ser usado para fazer um loop em dois loops simultâneos, como a zipfunção Pythons ? Para quem não está …
99 c++  c++11  sequences 




16
Maneiras limpas de escrever vários loops 'for'
Para uma matriz com múltiplas dimensões, geralmente precisamos escrever um forloop para cada uma de suas dimensões. Por exemplo: vector< vector< vector<int> > > A; for (int k=0; k<A.size(); k++) { for (int i=0; i<A[k].size(); i++) { for (int j=0; j<A[k][i].size(); j++) { do_something_on_A(A[k][i][j]); } } } double B[10][8][5]; for …
98 c++  for-loop 

4
Qual é a resposta correta para cout << a ++ << a ;?
Recentemente, em uma entrevista, houve o seguinte tipo de questão objetiva. int a = 0; cout &lt;&lt; a++ &lt;&lt; a; Respostas: uma. 10 b. 01 c. comportamento indefinido Respondi a opção b, ou seja, a saída seria "01". Mas, para minha surpresa, mais tarde, um entrevistador me disse que a …
98 c++  c++-faq 

14
Devo herdar de std :: exception?
Eu vi pelo menos uma fonte confiável (uma classe C ++ que eu fiz) recomendar que as classes de exceção específicas do aplicativo em C ++ devem herdar de std::exception. Não estou certo sobre os benefícios dessa abordagem. Em C #, as razões para herdar de ApplicationExceptionsão claras: você obtém …

4
Por que copiamos e depois mudamos?
Eu vi um código em algum lugar no qual alguém decidiu copiar um objeto e, posteriormente, movê-lo para um membro de dados de uma classe. Isso me deixou confuso, pois pensei que o objetivo de mover era evitar a cópia. Aqui está o exemplo: struct S { S(std::string str) : …

6
(Como) posso contar os itens em um enum?
Esta questão veio à minha mente, quando eu tinha algo como enum Folders {FA, FB, FC}; e queria criar uma matriz de contêineres para cada pasta: ContainerClass*m_containers[3]; .... m_containers[FA] = ...; // etc. (Usar mapas é muito mais elegante de usar: std::map&lt;Folders, ContainerClass*&gt; m_containers; :) Mas, voltando à minha pergunta …
98 c++  count  enumeration 

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.