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.





4
Conversión implícita no permitida al regreso
#include <optional> bool f() { std::optional<int> opt; return opt; } No compila: 'return': cannot convert from 'std::optional<int>' to 'bool' Consulta de referencia Pensé encontrar una explicación, pero la leí, ya que debería estar bien. Las conversiones implícitas se realizan cada vez que se usa una expresión de algún tipo T1 …


5
Establecer operación en c ++ (actualizar el valor existente)
Aquí está mi código: while (it!=s.end()) //here 's' is a set of stl and 'it' is iterator of set { *it=*it-sub; //'sub' is an int value it++; } No puedo actualizar el valor de establecer por iterador. Quiero restar un valor entero 'sub' de todos los elementos del conjunto. ¿Alguien …
21 c++ 




1
¿Por qué {} como argumento de función no conduce a la ambigüedad?
Considera este código: #include <vector> #include <iostream> enum class A { X, Y }; struct Test { Test(const std::vector<double>&, const std::vector<int>& = {}, A = A::X) { std::cout << "vector overload" << std::endl; } Test(const std::vector<double>&, int, A = A::X) { std::cout << "int overload" << std::endl; } }; int …

3
Dividir un tipo de variante std :: dado por un criterio dado
Cómo por un tipo de variante dado using V = std::variant<bool, char, std::string, int, float, double, std::vector<int>>; declarar dos tipos de variantes using V1 = std::variant<bool, char, int, float, double>; using V2 = std::variant<std::string, std::vector<int>>; donde V1incluye todos los tipos aritméticos de Ve V2incluye todos los tipos no aritméticos de …
20 c++  c++17  std-variant 


4
¿Es válido usar std :: transform con std :: back_inserter?
Cppreference tiene este código de ejemplo para std::transform: std::vector<std::size_t> ordinals; std::transform(s.begin(), s.end(), std::back_inserter(ordinals), [](unsigned char c) -> std::size_t { return c; }); Pero también dice: std::transformno garantiza la aplicación en orden de unary_opo binary_op. Para aplicar una función a una secuencia en orden o para aplicar una función que modifique …


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.