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

2 la respuesta

¿Se puede usar std :: launder para convertir un puntero de objeto en su puntero de matriz envolvente?

El borrador actual del estándar (y presumiblemente C ++ 17) dice en [basic.compound / 4] [http://eel.is/c++draft/basic.compound#4]: [Nota: un objeto de matriz y su primer elemento no son interconvertibles por puntero, aunque tengan la misma ...

1 la respuesta

Is std :: move safe en una lista de argumentos cuando se reenvía el argumento, no se mueve construido?

Tratando de proporcionar una solución parastd :: string_view y std :: string en std :: unordered_set [https://stackoverflow.com/q/51749081/364696], Estoy jugando reemplazandostd::unordered_set<std::string> constd::unordered_map<std::string_view, ...

2 la respuesta

¿Cómo forzar la deducción de argumentos de plantilla de clase al construir una clase en sus propias funciones miembro?

Considere el siguiente código: struct A {}; template <typename T> struct B { B(T) {} auto foo() {return B(A{});} // error: no matching function for call to 'B<int>::B(A)' }; auto foo() {return B(A{});} // compiles int main() { foo(); B b(0); ...

1 la respuesta

Persist C ++ escriba información para archivar para su uso en las invocaciones de program

Editar resaltando la pregunta real con más contexto disponible si lo desea. Quiero implementar el siguiente método: template <typename T> <unspecified> type_identification();Para un tipo T genérico, debe devolver una identificación ...

1 la respuesta

g ++ 8.1 ambigüedad de deducción de plantilla con bandera estándar igual a 'c ++ 17'

Tengo un código que g ++ interpreta de manera diferente conc++14 yc++17 banderas estándar: #include <iostream> #include <vector> template<class T, class A> void func(const std::vector<T, A>&v) { std::cout << 1 << std::endl; } template<typename ...

1 la respuesta

¿Es posible crear una lambda en el montón en un solo paso? [duplicar

Esta pregunta ya tiene una respuesta aquí: Lambda con duración de almacenamiento dinámico [/questions/37924996/lambda-with-dynamic-storage-duration] 4 respuestas Podemos crear una lambda como esta: auto x = [](){}; Puedo crear una copia de esto ...

1 la respuesta

inline variable de miembro estático

struct sa { struct sb { int a = 123;}; inline static sb b; }; El código anterior genera un error: main.cpp:25:20: error: default member initializer for ‘sa::sb::a’ required before the end of its enclosing class inline static sb b; ^ ...

1 la respuesta

Necesito poner constexpr después de else-if?

Inspirado poresta respuesta [https://stackoverflow.com/a/52355930/7151494], Intenté copiar y pegar (y agregar pruebas enmain()) este código: template<typename T> std::tuple<int, double> foo(T a) { if constexpr (std::is_same_v<int, T>) return {a, ...

2 la respuesta

¿Cuál es el propósito de los tipos compatibles con el diseño?

El estandar define [http://eel.is/c++draft/basic.types#11] cuando dos tipos son compatible con el diseño. Pero, no veo en ninguna parte del estándar cuáles son las consecuencias cuando dos tipos son compatible con el diseño. Parece que compatible ...

1 la respuesta

Unión de tipos compatibles con el diseño

Mire este código: struct A { short s; int i; }; struct B { short s; int i; }; union U { A a; B b; }; int fn() { U u; u.a.i = 1; return u.b.i; } ¿Está garantizado quefn() devoluciones1? Nota: esta es una pregunta de seguimiento ...