Resultados da pesquisa a pedido "c++14"

1 a resposta

Evitando movimentos extras em make_unique / make_shared / emplace / etc para estruturas que usam inicialização agregada

std::make_unique() (e funções similares) têm um poucoproblema [http://coliru.stacked-crooked.com/a/7d4063069bcca194]: #include <cstdio> #include <memory> using namespace std; struct S { S() { printf("ctor\n"); } ~S() { printf("dtor\n"); } S(S ...

3 a resposta

Correspondência de modelos não-variáveis variados

Digamos que eu tenho duas estruturas,Foo eBar: template<int...> struct Foo{}; template<unsigned long...> struct Bar{};Eu quero criar um traço de tipo (chame-omatch_class) que retorna true se eu passar doisFoo<...> tipos ou doisBar<...> tipos, ...

2 a resposta

Aplicando uma função a cada elemento de uma tupla

Dado umstd::tupleobjeto semelhante (ou seja, comtuple_size eget semântica) e um objeto de função unárioftor, Eu quero poder ligarftor em cada elemento dotupleobjeto parecido. Se desconsiderar o valor de retorno, conheço o truque da matriz ...

1 a resposta

Construtor padrão explícito

Esse código compila bem com o GCC 5.X, MSVC, mas o GCC 6.X fornece um erro: "converter para 'a' da lista de inicializadores usaria o construtor explícito 'a :: a ()'"clang"construtor escolhido é explícito na inicialização da ...

1 a resposta

Exceção desconhecida de std :: promessa

O que há de errado com o código a seguir? Quando executado, o programa é interrompido com uma exceção desconhecida #include <iostream> #include <future> int main() { auto promise = std::promise<int>{}; auto future_one = ...

1 a resposta

Sobrecarga de resolução entre membros do modelo nas classes base e derivada

O compilador da Microsoft (Visual Studio 2017 15.2) rejeita o seguinte código: #include <type_traits> struct B { template<int n, std::enable_if_t<n == 0, int> = 0> void f() { } }; struct D : B { using B::f; template<int n, std::enable_if_t<n == ...

3 a resposta

(v) é realmente (* & v) desde quando?

Os gurus dos padrões C ++ poderiam me esclarecer: Desde que versão padrão do C ++ esta declaração falhou porque(v) parece ser equivalente a(*&v)? I.e. por exemplo, o código: #define DEC(V) ( ((V)>0)? ((V)-=1) : 0 ) ...{... register int v=1; ...

2 a resposta

if-else depende se T é um tipo completo

Como verificar se um determinado tipo é um tipo completo em um determinado.cpp? template<class T>class Test{ //some fields void(*functor)(T*) =[](T*){}; //^ will be written by some .cpp that can access T as complete-type T* t=nullptr; void ...

1 a resposta

Inicialização Zero em C ++

Estou tendo problemas para entender quando e por que exatamente um membro da minha classe é inicializado com zero, de acordo ...

1 a resposta

É legal verificar se o endereço de um subobjeto está dentro dos limites de um objeto que contém

2 perguntas: O código a seguir está bem formado com comportamento definido? Existe alguma implementação possível de c ++ na qual ela possa afirmar? Código (c ++ 11 e superior): #include <cassert> #include <utility> #include <ciso646> ...