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.




3
Como resolver o problema de “leitura da variável não constexpr 'a' não é permitida em uma expressão constante” com boost.hana
Eu estou usando c ++ 17 com Boost.hana para escrever alguns programas de meta-programação. Uma questão que me surpreendeu é que tipo de expressão pode ser usada em um contexto constexpr como static_assert. Aqui está um exemplo: #include <boost/hana.hpp> using namespace boost::hana::literals; template <typename T> class X { public: T …
8 c++  boost  boost-hana 

3
Elenco dinâmico no destruidor
Esse código é legal? class Base1 { }; class Base2 { public: virtual ~Base2() { if (!dynamic_cast<Base1*>(this)) std::cout << "aaaa" << std::endl; } Base2() { } }; class MyClass: public Base1, public Base2 { public: MyClass() { } virtual ~MyClass() { std::cout << "bbb" << std::endl; } }; int main() …


7
É possível corresponder parâmetros de modelo inteiro recursivamente em C ++?
Eu tenho o seguinte problema. Eu defino um vetor dimensional N como #include <vector> #include <utility> #include <string> template <int N, typename T> struct NVector{ typedef std::vector<typename NVector<N-1,T>::type> type; }; template <typename T> struct NVector<1,T> { typedef std::vector<T> type; }; Desejo escrever um mapa de função de ordem superior que …


1
Como escolher entre std :: reduzir e std :: acumular?
std::accumulatee std::reducefaz quase a mesma coisa. Resumo de std::reducediz tudo: similar to `std::accumulate`, except out of order Em muitos casos, essas funções devem produzir o mesmo resultado final e exibir a mesma funcionalidade geral. É óbvio que, se você tiver alguma computação de carga muito pesada, etc., poderá experimentar std::reducea …


1
Swig C ++: vetor de interface <Objeto de classe *>
Basicamente, estou tentando ter uma tupla / lista que contém um dicionário de diferentes tipos de dados de valores (float / int / bool / char / list) em python. Estou recebendo isso do seguinte código: (&lt;f_p.Bunch; proxy of &lt;Swig Object of type 'Bunch *' at 0x7f4954bdde10&gt; &gt;, &lt;f_p.Bunch; proxy …
8 c++  c++11  c++14  swig 


1
O uso de reinterpret_cast em um buffer de memória UB?
Dado o código struct A {}; auto obj = new A; std::vector&lt;unsigned char&gt; buffer; buffer.resize(sizeof(obj)); std::memcpy(buffer.data(), &amp;obj, sizeof(obj)); // this copies the pointer, not the object! // ... auto ptr = *reinterpret_cast&lt;A**&gt;(buffer.data()); // is this UB? delete ptr; é o uso de reinterpret_cast, neste caso, UB? Eu diria que sim, …



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.