Il n'est pas précisé si l'appel à ostream opérateur<< peut échouer ou lancer une exception et je n'ai jamais rencontré cela.
- Y a-t-il un cas où ostream opérateur<< pourrait échouer ?
- Si non, pourquoi la norme ne met pas noexcept à ces surcharges ?
- La surcharge suivante est-elle valable ? bonne pratique ? couramment utilisée ?
-
Même question pour opérateur istream>> ?
struct MyClass { int data; // I/O operators with noexcept specifier friend std::istream& operator>>(std::istream &in, MyClass &obj) noexcept; friend std::ostream& operator<<(std::ostream &out, const MyClass &obj) noexcept; };