Ok to provide constructor + trivial operators for behaviorless aggregates?
问题 This is a follow-up question to 2043381. Consider the following: struct DataBundle { std::string name; int age; DataBundle() : age(0) {} DataBundle(const std::string& name, int age) : name(name), age(age) {} void swap(DataBundle& rhs) {name.swap(rhs.name); std::swap(age, rhs.age);} DataBundle& operator=(DataBundle rhs) {swap(rhs); return *this;} bool operator==(const DataBundle& rhs) const {return (name == rhs.name) && (age == rhs.age);} bool operator!=(const DataBundle& rhs) const {return !(