Resultados da pesquisa a pedido "c++"
Um destruidor virtual padrão impede operações de movimentação geradas pelo compilador?
Inspirado no postPor que o destruidor desativa a geração de métodos de movimentação implícitos? [https://stackoverflow.com/questions/33932824/why-destructor-disabling-the-generation-of-implicit-move-functions] , Fiquei pensando se o mesmo se ...
Conversão de tipo no argumento de não tipo de modelo sem constexpr
Considere o seguinte código: struct A { constexpr operator int() { return 42; } }; template <int> void foo() {} void bar(A a) { foo<a>(); } int main() { foo<A{}>(); const int i = 42; foo<i>(); // (1) A a{}; static_assert(i == a, ""); bar(a); ...
Como acelerar o tempo de compilação do g ++ (ao usar muitos modelos)
Talvez essa pergunta seja estranha, mas como posso acelerar o tempo de compilação do g ++? Meu código C ++ usa intensamente impulso e modelos. Eu já mudei o máximo possível dos arquivos de cabeçalho e use a opção -j, mas ainda demora um pouco ...
Como criar uma janela simples com um botão usando apenas o OpenCV HighGui?
Estou trabalhando em um projeto de jogo usando OpenCV. Agora eu tenho que criar uma GUI simples: uma janela com um botão, usando apenas o HighGui. Não tenho certeza, mas acho que devo usar algo assim: cvNamedWindow( "NameWindow" , ...
função de membro qualificado const-reference
O exemplo de estoque de uma função de membro qualificado por referência parece ser algo como isto: #include <stdio.h> #include <stdexcept> #include <string> // Easy access to literals using namespace std::literals; // File wrapper class File { ...
Prioridade de inicialização de lista de objeto do mesmo tipo
#include <iostream> #include <initializer_list> using namespace std; struct CL { CL(){} CL (std::initializer_list<CL>){cout<<1;} CL (const CL&){cout<<2;} }; int main() { CL cl1; CL cl2 {cl1}; //prints 21 }Aqui estáCL struct com construtor ...
Por que o destruidor desativa a geração de métodos de movimentação implícitos?
Eu estava tentando entender o que a regra do zero diz lendoeste blog [https://rmf.io/cxx11/rule-of-zero/]. Na IMO, ele diz que se você declarar seu próprio destruidor, não esqueça de fazer o construtor de movimentação e a atribuição de ...
Problemas com a rotação de arquivos após adicionar sinalizador de acréscimo no Boost 1.59 log v2
Após adicionar o sinalizador de acréscimo "keywords :: open_mode = std :: ios_base :: app"para afundar arquivo, a rotação normal do arquivo não está acontecendo quando o arquivo atinge o tamanho máximo, conforme especificado no código ...
Programa C ++ Pass by Reference
A IBM explica a passagem do C ++ por referência no exemplo abaixo (fonte incluída). Se eu mudassevoid swapnum... paravoid swapnum(int i, int j), passaria por valor? // pass by reference example // author - ibm #include <stdio.h> void ...
Por que dois ponteiros brutos para o objeto gerenciado são necessários na implementação std :: shared_ptr?
Aqui está uma citação da seção de notas de implementação da cppreference emstd::shared_ptr, que menciona que existem dois ponteiros diferentes (como mostrado em negrito): aquele que pode ser retornado porget()e aquele que mantém os dados reais ...