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.


4
Enumeração contínua C ++ 11
Existe uma maneira de verificar no C ++ 11 se uma enumeração é contínua ? É totalmente válido fornecer valores de enumeração que não são. Existe talvez um recurso como um traço de tipo em C ++ 14, C ++ 17 ou C ++ 20 para verificar se o enum …
17 c++  c++11  c++14  c++17  c++20 



2
Este é um construtor de estilo C ++ antigo?
Aqui está um pedaço de código C ++. Neste exemplo, muitos blocos de código parecem chamadas de construtor. Infelizmente, o código de bloco nº 3 não é (você pode verificá-lo usando https://godbolt.org/z/q3rsxn e https://cppinsights.io ). Eu acho que é uma notação antiga do C ++ e poderia explicar a introdução …
17 c++  c++11 

1
Clang está correto ao rejeitar o código no qual a classe aninhada de um modelo de classe é definida apenas por meio de especializações?
Dado o seguinte modelo de classe: template<typename T> struct Outer { struct Inner; auto f(Inner) -> void; }; definimos Innerseparadamente para cada especialização de Outer: template<> struct Outer<int>::Inner {}; template<> struct Outer<double>::Inner {}; e defina a função de membro fuma vez para todas as especializações de Outer: auto Outer<T>::f(Inner) -> …




2
Modelos de sobrecarga ambíguos
Eu tenho o seguinte código de modelo #include <vector> #include <array> #include <iostream> template<typename T1> void foo(std::vector<T1> bar) { std::cout << "GENERIC" << std::endl; } template<typename T1> void foo(std::vector<std::vector<T1>> bar) { std::cout << "SPECIFIC (vector)" << std::endl; } template<typename T1, int SIZE> void foo(std::vector<std::array<T1, SIZE>> bar) { std::cout << "SPECIFIC …
16 c++  templates 

3
Otimizando a função objetivo R com Rcpp mais lento, por quê?
Atualmente, estou trabalhando em um método bayesiano que requer várias etapas de otimização de um modelo de logit multinomial por iteração. Estou usando o optim () para realizar essas otimizações e uma função objetiva escrita em R. Uma criação de perfil revelou que o optim () é o principal gargalo. …
16 c++  r  optimization  rcpp 


2
O std :: set armazena objetos contiguamente na memória?
Faz std::setarmazenar objetos em memória contígua como std::vector? Não consegui encontrar isso na web, a cppreference não menciona detalhes sobre alocação de memória. Mas não consigo entender por que ela não pode usar memória contígua, daí a minha pergunta.
16 c++  set  stdset 

1
std :: pair <auto, auto> tipo de retorno
Eu estava brincando com autono std::pair. No código abaixo, a função fdeve retornar um std::pairdos tipos que dependem de um parâmetro de modelo. Um exemplo de trabalho: EXEMPLO 1 template &lt;unsigned S&gt; auto f() { if constexpr (S == 1) return std::pair{1, 2}; // pair of ints else if constexpr …

1
Sizeof (enum) pode diferir de sizeof (std :: subjac_type <Enum> :: type)?
Recentemente, surgiu uma revisão de código que, no exemplo a seguir: enum class A : uint8_t { VAL1, VAL2 }; ... std::vector&lt;A&gt; vOfA; // Assume this is sized and full of some stuff. std::memcpy(wire_buffer, vOfA.data(), vOfA.size() * sizeof(A)); Deveríamos estar usando em sizeof(std::underlying_type&lt;A&gt;::type)vez de sizeof(A). É possível que estes possam …

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.