Resultados da pesquisa a pedido "c++14"
Aritmética do ponteiro T * versus char *
Suponha que temos uma matriz que contém N elementos do tipo T. T a[N];De acordo com o padrão C ++ 14, em que condições temos garantia de que (char*)(void*)&a[0] + n*sizeof(T) == (char*)(void*)&a[n], (0<=n<N) ?Embora isso seja verdade para ...
Como serializar o vetor do tatu
Como posso serializararma::Col? Abaixo estão um MWE e a saída de erro. MWE: #include <boost/mpi/environment.hpp> #include <boost/mpi/communicator.hpp> #include <iostream> #include "armadillo" namespace mpi = boost::mpi; struct S { int i; ...
Passar (parcialmente) a função de modelo de modelo como std :: function (ou ponteiro de função)
#include <vector> #include <functional> template<class F> class Foo { public: template <class T> void std_function(std::function<F(std::vector<T>)> functor) { /* something */ } template <class T> void func_ptr(F (*funtor)(std::vector<T>)) { /* ...
passando lambda como argumento - por referência ou valor?
Eu escrevi um código de modelo que usa um functor como argumento e, após algum processamento, o executa. Embora outra pessoa possa passar nessa função um lambda, um ponteiro de função ou mesmo umstd::function mas destina-se principalmente ao ...
Comportamento `weak_ptr :: expired` no dtor do objeto
Considere o seguinte código: #include <iostream> #include <memory> using namespace std; class T; std::weak_ptr<T> wptr; class T { public: T() { } ~T() { std::cout << "in dtor" << std::endl; std::cout << (wptr.expired() ? "expired" : "not ...
ADL usando tipos std falha ao encontrar o operador
O código a seguir falha ao compilar namespace A { using C = std::vector<std::string>; std::ostream& operator << (std::ostream& lhs, const C& rhs) { lhs << 5; return lhs; } } int main() { A::C f; std::cout << f; return 0; }com o erro Error C2679 ...
Escolha a função a ser aplicada com base na validade de uma expressão
O problema é o seguinte, emC++14: Vamos ter duas funçõesFV&& valid_f, FI&& invalid_fe argumentosArgs&&... argsA funçãoapply_on_validity deve aplicarvalid_f emargs se a expressãostd::forward<FV>(valid_f)(std::forward<Args>(args)...) é ...
Obter tipo de retorno da função no modelo
Como posso obter o tipo de retorno para qualquer função passada para o modelo? Não sei como converter entretemplate<typename T> etemplate<typename Result, typename Args...>: template<typename T> void print_name(T f) ...
Como fazer o CMake passar std = c ++ 14 / c ++ 1y ou c ++ 17 / c ++ 1z com base na versão do GCC?
O GCC 4.x não aceita o--std=c++14 mudar para código C ++ 14 - é preciso--std=c++1y em vez de. Versões posteriores--std=c++1z mas (provavelmente) não--std=c++17 que ainda não foi definido (escrevendo isso em 2016). Talvez haja problemas ...
Por que as funções lambda descartam a referência do tipo de retorno deduzido por padrão?
No C ++ 14, por que as funções lambda com um tipo de retorno deduzido descartam referências do tipo de retorno por padrão? IIUC, já que as funções lambda do C ++ 14 com um tipo de retorno deduzido (sem um tipo de retorno à direita explícito) têm ...