Wpis z mikrobloga

#programowanie #cpp pytanko o const-overloading. Mam dwie funkcje:
https://pastebin.com/BCuEcEFN
Która jest priorytetyzowana? Tzn. czy mam pewność, że wywołując funkcję z obiektu non-const, użyta zostanie właśnie ta non-const jeżeli zwracana wartość nie jest pointerem lub referencją? Chcę żeby wartość "value" była aktualizowana wyłącznie w razie potrzeby i nie obliczana na nowo za każdym razem, bo lista "history" może być długa... ale jednocześnie chciałem sobie dla porządku dodać const-get, bo czemu nie? :D
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@s_theCapt: dla tych funkcji jeżeli masz const albo const& albo const&& to zostanie wywołana const, dla reszty nonconst. jak chcesz "zcacheować" i wyliczyć wartosc w metodzie const - użyj mutable membera(since C++11)
  • Odpowiedz
@MamCieNaHita: No mutable members to lepiej unikać. No i na pewno są starsze C++03, pomyliło ci się z zapedne z lambdami.

@s_theCapt: Tutaj raczej getValue nie powinno się tak nazywać, raczej computeValue.
Sens dywagacji na ten temat byłby
  • Odpowiedz