Preguntas etiquetadas con c++

14
std :: bit_cast con std :: array

En su reciente charla "Punking de tipo en C ++ moderno", Timur Doumler dijo que std::bit_castno se puede usar para convertir un bit floaten un unsigned char[4]porque las matrices de estilo C no se pueden devolver de una función. Deberíamos usar std::memcpyo esperar hasta C ++ 23 (o posterior)...

14
Sobrecargar una función lambda

¿Cómo sobrecargar una función lambda local simple? SSE del problema original: #include <iostream> #include <map> void read() { static std::string line; std::getline(std::cin, line); auto translate = [](int idx) { constexpr static int table[8]{ 7,6,5,4,3,2,1,0 }; return...

14
¿Se requiere un nombre de clase completo hasta el alcance global para las definiciones de funciones de miembros fuera de línea?

Esta pregunta me hizo preguntarme si alguna vez es útil / necesario calificar completamente los nombres de clase (incluido el operador de alcance global) en una definición de función de miembro fuera de clase. Por un lado, nunca había visto esto antes (y la sintaxis para hacerlo correctamente...

14
¿Por qué la dimensión de una matriz es parte de su tipo?

Mientras leía el libro de C ++ Primer, me encontré con esta declaración: "El número de elementos en una matriz es parte del tipo de matriz". Así que quería averiguarlo usando el siguiente código: #include<iostream> int main() { char Array1[]{'H', 'e', 'l', 'p'}; char Array2[]{'P', 'l',...

14
¿Cómo funciona lanzar y atrapar objetos?

Con este código: int main() { try { throw -1; } catch (int& x) { std::cerr << "We caught an int exception with value: " << x << std::endl; } std::cout << "Continuing on our merry way." << std::endl; return 0; } Tenemos: /tmp$ ./prorgam.out Continuing...