c++ - 通过 return const 而不是函数重载?

标签 c++ overloading

<分区>

我正在阅读 HELib 的源代码并遇到以下类 definition :

#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++ 没有通过返回值重载函数。那么这两个get_ptr()函数的作用是什么呢?

最佳答案

不是返回类型,是const关键字。如果您在类的 const 实例上调用该方法,将调用 const 方法。

关于c++ - 通过 return const 而不是函数重载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42082634/

相关文章:

c++ - 具有默认参数的可行函数

c++ - C++ Linux 中损坏的双链表

c++ - 想要创建打开控制台并将用户输入作为命令的应用程序

c++ ptlib PNotifier 在 OPAL 中的使用

c++ - 保存和加载非纯文本的文本文件

java - 从 Java 中的匿名泛型类调用重载方法

c++ - 函数重载 - 传递常量与传递变量 C++

c++ - 非法参数 Execv() Unix C++

C++如何使用按值传递和按引用传递重载方法

c++ - 哪个是更专业的模板功能? clang 和 g++ 对此有所不同