Resultados de la búsqueda a petición "c++17"

2 la respuesta

¿Qué tan similares son el sistema de archivos Boost y las bibliotecas estándar del sistema de archivos C ++?

Necesito una biblioteca de sistema de archivos para usar con un compilador compatible con C ++ 11 o uno compatible con C ++ 14, por lo que no puede ser de C ++ 17. Ahora, sé que la biblioteca del sistema de archivos que va a C ++ 17 se basa ...

0 la respuesta

Parámetro con tipo no deducido después del paquete de parámetros

Hay un comportamiento diferente enclang ++ yg ++ para el próximo programa: #include <type_traits> #include <utility> template< std::size_t index, typename type > struct ref { type & value; }; template< std::size_t index, typename type > type && ...

2 la respuesta

Deducción parcial de plantilla de clase C ++ 17

Mi entendimiento sobre elDeducción de argumentos de plantilla para plantillas de clase [http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0091r3.html]La propuesta era homogeneizar el comportamiento de las funciones de plantilla y ...

1 la respuesta

¿Es posible asegurar que una función constexpr se llame como máximo una vez en tiempo de compilación?

Como se pregunta en el título: ¿Es posible asegurar que se llame a una función constexpr como máximo una vez en tiempo de compilación? Esto claramente no será posible si la función no es constepxr; Podría escribir una función que se llama cada ...

3 la respuesta

Usando std :: string_view con api, lo que espera una cadena terminada en nulo

Tengo un método que tomastd::string_view y utiliza la función, que toma una cadena terminada en nulo como parámetro. Por ejemplo: void stringFunc(std::experimental::string_view str) { some_c_library_func(/* Expects null terminated string */); ...

2 la respuesta

Expansión del paquete de parámetros en lambda con expresión de pliegue - gcc vs clang

Teniendo en cuenta el siguiente fragmento de código: template <typename TF> void post(TF){ } template <typename... TFs> struct funcs : TFs... { funcs(TFs... fs) : TFs{fs}... { } void call() { (post([&]{ static_cast<TFs&>(*this)(); }), ...); } ...

1 la respuesta

¿Qué son las guías de deducción de plantillas y cuándo debemos usarlas?

El estándar C ++ 17 presenta "guías de deducción de plantillas". Supongo que tienen algo que ver con la nueva deducción de argumentos de plantilla para constructores presentada en esta versión del estándar, pero aún no he visto una explicación ...

2 la respuesta

Manera insegura, `noexcept` y sin sobrecarga de acceder a` std :: variant`

std::variant [http://en.cppreference.com/w/cpp/utility/variant]proporciona las siguientes funciones de acceso: std::get_if [http://en.cppreference.com/w/cpp/utility/variant/get_if]: tomarpuntero avariant, regresopuntero a la ...

1 la respuesta

Evitar movimientos adicionales en make_unique / make_shared / emplace / etc para estructuras que usan inicialización agregada

std::make_unique() (y funciones similares) tienen un pocoproblema [http://coliru.stacked-crooked.com/a/7d4063069bcca194]: #include <cstdio> #include <memory> using namespace std; struct S { S() { printf("ctor\n"); } ~S() { printf("dtor\n"); } ...

2 la respuesta

Comparar el parámetro de la función constexpr en la condición constexpr-if causa error

Estoy tratando de comparar un parámetro de función dentro de una declaración constexpr-if. Aquí hay un ejemplo simple: constexpr bool test_int(const int i) { if constexpr(i == 5) { return true; } else { return false; } }Sin embargo, cuando ...