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.

2
¿Qué características de C están influenciadas por / derivadas de las características de C ++? [cerrado]
Cerrada . Esta pregunta está basada en la opinión . Actualmente no está aceptando respuestas. ¿Quieres mejorar esta pregunta? Actualice la pregunta para que pueda ser respondida con hechos y citas editando esta publicación . Cerrado hace 5 meses . ¿Cuáles son las características del estándar C real, que originalmente …






1
Comprensión del vacío (A ())
Este es mi codigo #include <iostream> class A { public: int a = 0; A(int i = 0) : a(i) {} }; void func(A()) { std::cout << "Hello" << std::endl; } int main() { A(*p)() = NULL; func(p); } Lo que me confundió es que A()en void func(A())es igual a …
8 c++ 

2
¿Por qué una cadena vacía literal en una matriz multidimensional decae a un puntero nulo?
Quiero definir una matriz de cadenas C multidimensional, inicializada por varios literales de cadena. En C haría lo siguiente: #include <stdio.h> const char *strArr[2][1] = { {"foo"}, {""}}; int main(void) { printf("%p\t%p\n", strArr[0][0], strArr[1][0]); return 0; } Compilar gcc -std=c18 -pedantic test.cy ejecutar resultados en: $ ./a.out 0x55d95410f004 0x55d95410f008 Como …

2
Bloqueo al eliminar a través del destructor
En el siguiente programa, tengo la intención de copiar char* linecontenidos de un objeto a otro strcpy. Sin embargo, cuando finaliza el programa, el destructor de obj2trabajos funciona bien pero el dtor de los objbloqueos. gdb muestra diferentes direcciones de lineambos objetos. class MyClass { public: char *line; MyClass() { …
8 c++  strcpy 

2
¿Por qué una especialización de plantilla de clase parcial en una clase de plantilla coincidente es ambigua con otra especialización parcial sin la coincidencia de plantilla?
La pregunta puede ser demasiado difícil de describir en una oración del título, pero aquí hay un ejemplo mínimo: #include <iostream> #include <type_traits> template <class T, class U, class Enabler> struct my_trait : std::false_type {}; template <class T, class U> struct my_trait<T, U, std::enable_if_t<std::is_same<T, U>::value>> : std::true_type {}; template <class …




2
Desambigador de plantilla para nombres dependientes
Encontré el siguiente problema al compilar el siguiente ejemplo: template <int N> class Matrix { public: template <int Idx> int head() { return Idx; } }; template <typename T> class Test { static constexpr int RayDim = 3; public: int func() const { Matrix<RayDim> yF; return yF.head<1>(); // ^ is …
8 c++ 

3
¿Cómo puedo evitar que el usuario especifique un parámetro de plantilla de función, forzando que se deduzca?
Digamos que tengo una función de plantilla: template <typename A, typename B> A fancy_cast(B) { return {}; } El uso previsto es algo así fancy_cast<int>(1.f). Pero nada impide que el usuario especifique manualmente el segundo parámetro de plantilla: fancy_cast<int, int>(1.f)lo que causaría problemas. ¿Cómo puedo evitar que typename Bse especifique …
8 c++ 

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.