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

124
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...

124
A maneira mais fácil de inverter um valor booleano?

Eu só quero virar um booleano com base no que já é. Se é verdade - faça-o falso. Se for falso, faça-o verdadeiro. Aqui está o meu trecho de código: switch(wParam) { case VK_F11: if (flipVal == true) { flipVal = false; } else { flipVal = true; } break; case VK_F12: if (otherVal == true) {...

124
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 valores das...

124
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

124
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...

124
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...

124
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 e...

124
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,...

123
Erro "X não nomeia um tipo" em C ++

Eu tenho duas classes declaradas como abaixo: class User { public: MyMessageBox dataMsgBox; }; class MyMessageBox { public: void sendMessage(Message *msg, User *recvr); Message receiveMessage(); vector<Message> *dataMessageList; }; Quando tento compilá-lo usando o gcc, ocorre o...

123
Como posso obter o valor máximo (ou mínimo) em um vetor?

Como posso obter o valor máximo (ou mínimo) em um vetor em C ++ ? Vi algumas soluções para isso no Google, mas nenhuma delas fazia sentido para mim :( Alguém pode explicar de maneira fácil e direta como obter o valor máximo ou mínimo de um vetor, por favor? e estou errado em supor que seria mais...