Preguntas etiquetadas con c++

C ++ es un lenguaje de programación de propósito general. Originalmente fue diseñado como una extensión de C y tiene una sintaxis similar, pero ahora es un lenguaje completamente diferente. Use esta etiqueta para preguntas sobre el código (que se compilará) con un compilador de C ++. Utilice una etiqueta específica de la versión para preguntas relacionadas con una revisión estándar específica [C ++ 11], [C ++ 14], [C ++ 17] o [C ++ 20], etc.





5
Cadena amigable de plantilla a numérico en C ++
En la biblioteca estándar de C ++ hay funciones para convertir de cadena a tipos numéricos: stoi stol stoll stoul stoull stof stod stold pero me resulta tedioso usarlos en el código de plantilla. ¿Por qué no hay funciones de plantilla? template<typename T> T sto(...) convertir cadenas a tipos numéricos? …


2
Algoritmo para encontrar una solución para A xor X = B + X
Dado el entero A y B, encuentre el entero X para que: A, B <2 * 1e18 A xor X = B + X Dudo mucho que sea posible resolver esta ecuación usando las matemáticas. Este es un problema de codificación que encontré hace 3 años e incluso ahora no …
46 c++  xor 


3
¿Cómo puedo obtener la profundidad de un std :: vector multidimensional en tiempo de compilación?
Tengo una función que toma una std::vectordimensión multidimensional y requiere que se pase la profundidad (o el número de dimensiones) como parámetro de plantilla. En lugar de codificar este valor, me gustaría escribir una constexprfunción que tome std::vectory devuelva la profundidad como unsigned integervalor. Por ejemplo: std::vector<std::vector<std::vector<int>>> v = { …

2
¿Por qué se elimina operator! = En C ++ 20 para muchos tipos de biblioteca estándar?
Según cppreference , std::type_info::operator!=se elimina con C ++ 20, sin embargo, std::type_info::operator==aparentemente permanece. ¿Cuál es el razonamiento detrás? Podría estar de acuerdo en que la comparación de la desigualdad no tenga sentido, pero luego la comparación de la igualdad tampoco tendría sentido, ¿no? De manera similar, operator!=de muchos otros tipos …



7
Manera idiomática de distinguir dos constructores de cero arg
Tengo una clase como esta: struct event_counts { uint64_t counts[MAX_COUNTERS]; event_counts() : counts{} {} // more stuff }; Por lo general, quiero predeterminar (cero) inicializar la countsmatriz como se muestra. Sin embargo, en las ubicaciones seleccionadas identificadas por la creación de perfiles, me gustaría suprimir la inicialización de la matriz, …

2
Enfoques para funcionar SFINAE en C ++
Estoy usando la función SFINAE en gran medida en un proyecto y no estoy seguro de si hay alguna diferencia entre los siguientes dos enfoques (aparte del estilo): #include <cstdlib> #include <type_traits> #include <iostream> template <class T, class = std::enable_if_t<std::is_same_v<T, int>>> void foo() { std::cout << "method 1" << std::endl; …
40 c++  sfinae 


Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.