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

2 la respuesta

¿Todavía necesitamos escribir los corchetes angulares vacíos cuando usamos objetos transparentes de función estándar?

Con la deducción de argumento de plantilla de clase podemos escribir: std::less Fn; Sin embargo, G ++ 8.2 rechaza este código: #include <algorithm> #include <vector> #include <functional> int main() { std::vector v= { 1, 3, 2, 7, 5, 4 ...

2 la respuesta

Evite llamar al constructor de movimientos

Tengo el siguiente ejemplo #include <cstdint> class FooC { public: FooC(uint16_t iPort, uint16_t iPin) : PORT(iPort) , PIN(iPin) { }; ~FooC() = default; FooC() = delete; FooC(const FooC&) = delete; FooC(FooC&&) = delete; private: const uint16_t ...

2 la respuesta

Mapear un valor de parámetro de plantilla integral en un tipo primitivo

Quiero asignar un número a un tipo. Para este ejemplo, haré una función que mapea un resultado sizeof () en un tipo primitivo con signo. Me pregunto si hay una mejor manera de hacer lo que hice a continuación en C ++ moderno, que es tomar un ...

4 la respuesta

c_str () vs. data () cuando se trata de devolver el tipo

Después de C ++ 11, pensé enc_str() ydata() equivalentemente [https://stackoverflow.com/questions/194634/string-c-str-vs-data]. C ++ 17 introduce una sobrecarga para este último, que devuelve un puntero no constante referenci ...

1 la respuesta

¿Es esto un error? El constructor Constexpr silenciosamente se convierte en no constexpr

Mire este código: struct NonConstexpr { NonConstexpr() { } }; template <typename T> struct Bar { NonConstexpr nonConstexpr; constexpr Bar() { } }; struct Foo { Bar<void> bar; constexpr Foo() { } };Foo tiene un miembro,Foo::bar::nonConstexpr, que ...

2 la respuesta

¿Cómo puedo detectar que un constructor es realmente constexpr, para poder utilizar la inicialización estática?

Mire este código: struct NonConstexpr { NonConstexpr() { } }; template <typename T> struct Bar { NonConstexpr nonConstexpr; constexpr Bar() { } }; struct Foo { Bar<void> bar; constexpr Foo() { } };En este código,Fool constructor de @ está ...

1 la respuesta

Deptype de rango explícito-v3 evalúa como nulo?

Estoy tratando de obtener un tipo explícito de un rango (es posible que desee almacenarlo como un campo en una clase en el futuro). Sin embargo, por alguna razón, se evalúa comovoid? #include <iostream> #include <set> #include ...

3 la respuesta

La forma más sencilla de determinar el tipo de función de retorno

Dada una función muy simple, pero larga, como: int foo(int a, int b, int c, int d) { return 1; } // using ReturnTypeOfFoo = ??? ¿Cuál es la forma más simple y concisa de determinar el tipo de retorno de la función ReturnTypeOfFoo, en este ...

1 la respuesta

Las variables `const` y` constexpr` en los encabezados deben estar `en línea` para evitar violaciones de ODR?

Considere el siguiente encabezado y suponga que se usa en varias TU: static int x = 0; struct A { A() { ++x; printf("%d\n", x); } };Comoesta pregunt [https://stackoverflow.com/questions/4276794/static-keyword-in-h-file-and-internal-linkage] ...

3 la respuesta

Inicializar static std :: mapa con valor no copiable en una inicialización en línea uniforme

Me gustaría inicializar una @ estátistd::map donde el valor no se puede copiar. Llamaré a mi clase ValueClass. ValueClass tiene unstd::unique_ptr como miembro privado e incluso me aseguro de que ValueClass no se pueda ...