Tag: IMPLICIT-CONVERSION
Basado en la respuesta en https://stackoverflow.com/questions/8890051/implicit-conversion-when-overloading-operators-for-template-classes pude escribir el siguiente código que funciona perfectamente bien (ejemplo simplificado): “`c++ namespace my_library { template <typename t=""> struct Number { T n; <pre><code>inline Number(T n) : n(n) { } friend Number<t> operator+(const Number<t> &a, const Number<t> &b) { return Number<t>(a.n + b.n); } . . . Read more
Quiero tener una clase que represente una unidad con algún tipo de dimensión. Esto debería expresar algo como 1,5m^2. Se debe permitir una multiplicación escalar con algún tipo y una unidad sin dimensión debería comportarse exactamente como el tipo subyacente. Aquí está mi solución: include template class Unit { public: . . . Read more
Considere el siguiente código (https://godbolt.org/z/s17aoczj6): template<class T> class Wrapper { public: explicit Wrapper(T t): _value(t) {} template<class S = T> operator T() { return _value; } private: T _value; }; auto main() -> int { auto i = int{0}; auto x = Wrapper<int>(i); return x + i; } Compila con . . . Read more
Estoy confundido acerca de cómo funcionan los punteros a caracteres. ¿Qué sucede cuando ejecuto el siguiente código? int main() { char* word; scanf(“%s”,word); printf(“%s”,word); } La primera línea de la función main define un puntero a char sin inicialización. ¿No es así que scanf debe almacenar la palabra en algún . . . Read more