For the following example class, what are the exception safety guarantees for the getter methods?
Do such getter methods offer a minimum of a strong guarantee?
Does returning a fundamental type by value always offer a no throw guarantee?
class Foo
{
public:
// TODO: Constructor
// Getter methods
int getA() const { return a; }
std::string getB() const { return b; }
std::vector<int> getC() const { return c; }
Bar getD() const { return d; }
std::vector<Bar> getE() const { return e; }
protected:
int a;
std::string b;
std::vector<int> c;
Bar d;
std::vector<Bar> e;
}