Resultados de la búsqueda a petición "c++17"
¿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 ...
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 ...
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 ...
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 ...
¿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 ...
¿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á ...
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 ...
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 ...
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] ...
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 ...