在该语言中,Kotlin您可以创建简单的类data class:
data class User(val name: String, val age: Int)
在这种情况下,对于对象,代码会自动生成:
- 翻译成
data class字符串:"User(name=John, age=42)". - 比较与
- 复制日期类。
C++是否可以使用宏和/或变量模板做类似的事情?
这应该如何工作的可能示例:
DataClass(Data, string, name, int, age);
// ...
Data d = { "Mike", 33 };
d.name = "John";
d.age = 42;
cout << d; // Data(name=John, age=42)
有这么古老的技术——x-macro。但这是非常黑暗的魔法。这是给您的空白,原则上可以做所有事情,并根据需要对其进行完善
坦率地说,我不明白它有什么更糟:
如果有必要,没有问题可以添加一个运算符
<<以任何需要的形式输出......如果你真的想 - 你可以玩预处理器,但有什么意义呢?敲击键的节省将是最小的,但是对于局外人和一般来说,对于作者来说,程序将变得完全不可理解......此外,稍后可能会发现最好以错误的方式检查相等性,并以错误的形式输出 - 什么?从头重写?
或者是C/C++学习者经常遇到的点——使用宏让它更原生。好吧,就像,用 Pascal 做
但是这种想法是很不健康的...