je suis tombé sur cet exemple here:pourquoi avons-nous besoin à la fois const et getters non-const dans cet exemple
#include <vector>
#include <cstddef>
template<typename Tag>
class Ref_t {
std::size_t value;
friend Tag& element(Ref_t r, std::vector<Tag>& v) {
return v[r.value];
}
friend const Tag& element(Ref_t r, const std::vector<Tag>& v)
{
return v[r.value];
}
public:
// C'tors, arithmetic operators, assignment
};
struct A{};
struct B{};
typedef Ref_t<A> ARef_t;
typedef Ref_t<B> BRef_t;
int main() {
std::vector<A> va;
ARef_t ar;
A& a = element(ar, va);
}
La question est de savoir pourquoi nous avons besoin -Deux friend element
fonctions en classe Ref_t?
Copie possible de [Même fonction avec const et sans - Quand et pourquoi?] (Https://stackoverflow.com/questions/27825443/same-function-with-const-and-withwith-when-and-why) –