1
私はHELibのソースコードを読み取り、次のクラスdefinitionに遭遇しています:関数はリターンconstでオーバーロードされていますか?
#define CLONED_PTR_DECLARE(CLONED_PTR_TYPE,CLONED_PTR_INIT) \
\
template <class X, class Cloner = CLONED_PTR_INIT<X> > class CLONED_PTR_TYPE \
{ \
......
const X* get_ptr() const { return ptr; } \
X* get_ptr() { return ptr; } \
......
}; \
\
しかし、私の理解ごとに、C++は、戻り値で関数のオーバーロードはありません。では、これら2つの機能の効果は何ですか?get_ptr()
?
違いは戻り値の型だけではありません。もう一度見てください。 – user2357112
(質問は重複しているようには見えないが、その答えはあなたの質問に答えている) – Ryan