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

C ++ 14 é o nome do padrão C ++, aprovado em 2014. Ele se baseia no padrão C ++ 11 anterior, aprimorando a linguagem central e a biblioteca padrão e adicionando alguns recursos.


6
error :: make_unique não é membro de 'std'
Estou tentando compilar o seguinte programa de pool de threads postado na revisão de código para testá-lo. /codereview/55100/platform-independant-thread-pool-v4 Mas estou recebendo os erros threadpool.hpp: In member function ‘std::future<decltype (task((forward<Args>)(args)...))> threadpool::enqueue_task(Func&&, Args&& ...)’: threadpool.hpp:94:28: error: ‘make_unique’ was not declared in this scope auto package_ptr = make_unique<task_package_impl<R, decltype(bound_task)>> (std::move(bound_task), std::move(promise)); ^ threadpool.hpp:94:81: …

3
O que é const void?
A descrição dos std::is_voidestados que: Fornece o valor da constante do membro igual a true, se T for do tipo void, const void, volatile void ou const volatile void. Então o que poderia ser const void, ou um volatile void? Esta resposta afirma que o const voidtipo de retorno seria …
90 c++  c++11  c++14 

2
Qual é o propósito de usar um sindicato com apenas um membro?
Quando eu estava lendo o código-fonte seastar , notei que havia uma estrutura de união chamada tx_sideque tinha apenas um membro. Isso é algum truque para lidar com um determinado problema? Para sua informação, colo a tx_sideestrutura abaixo: union tx_side { tx_side() {} ~tx_side() {} void init() { new (&a) …
89 c++  c++14  unions 

5
Por que um lambda tem o tamanho de 1 byte?
Estou trabalhando com a memória de alguns lambdas em C ++, mas estou um pouco confuso com o tamanho deles. Aqui está meu código de teste: #include <iostream> #include <string> int main() { auto f = [](){ return 17; }; std::cout << f() << std::endl; std::cout << &f << std::endl; …
89 c++  c++11  lambda  c++14  sizeof 

3
Confusão de inicialização padrão, valor e zero
Estou muito confuso sobre a inicialização de valor e padrão e zero. e especialmente quando eles são iniciados para os diferentes padrões C ++ 03 e C ++ 11 (e C ++ 14 ). Estou citando e tentando estender uma resposta realmente boa Valor- / Padrão- / Zero- Init C …
89 c++  c++11  c++14  c++03  c++98 



3
Os valores de fechamento lambda podem ser passados ​​como parâmetros de referência rvalue
Descobri que os lvaluefechamentos lambda sempre podem ser passados ​​como rvalueparâmetros de função. Veja a seguinte demonstração simples. #include <iostream> #include <functional> using namespace std; void foo(std::function<void()>&& t) { } int main() { // Case 1: passing a `lvalue` closure auto fn1 = []{}; foo(fn1); // works // Case 2: …

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 



1
Um modelo de variável pode ser passado como um argumento de modelo?
O exemplo sem sentido a seguir não é compilado, mas existe outra maneira de passar um modelo de variável como argumento de modelo? template<typename T> constexpr auto zero = T{0}; template<typename T, template<typename> auto VariableTemplate> constexpr auto add_one() { return VariableTemplate<T> + T{1}; } int main() { return add_one<int, zero>(); …


2
Como eliminar a cópia ao encadear?
Estou criando uma classe do tipo encadeamento, como o pequeno exemplo abaixo. Parece que, ao encadear funções-membro, o construtor de cópia é chamado. Existe uma maneira de se livrar da chamada do construtor de cópia? No meu exemplo de brinquedo abaixo, é óbvio que estou lidando apenas com temporários e, …
10 c++  c++14  c++17 

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.