-4

可能重复:
const CFoo &bar() const

这条线的含义是什么?

virtual void Encode (KDataStream & stream) const;

C++最后的const是什么意思?

4

4 回答 4

1

这意味着——通过引用传递

于 2012-08-06T11:41:11.887 回答
1

方法末尾的“const”表示方法实现不会更改任何成员变量的值。因此,通过在类接口本身中看到这一点(不必知道实现),对象的客户端可以知道这种行为。

于 2012-08-06T12:41:56.797 回答
1

这条线的含义是什么?

virtual void Encode (KDataStream & stream) const;

这是一个声明函数的语句。

virtual意味着它是一个成员函数,可以被具有相同名称和兼容参数的函数覆盖,并在派生自该类的类中声明返回类型。将根据调用它的对象的类型选择正确的版本(在运行时,如有必要)。

void意味着它不返回任何东西。

Encode是函数的名称。

(标记参数列表的开始。

KDataStream是第一个参数的类型。

&表示参数是通过引用传递的。

stream是赋予参数的名称;它用作文档,但可以在不改变含义的情况下从声明中省略。

)标记参数列表的结尾。

const意味着它是一个成员函数,不能修改调用它的对象的非静态、非可变数据成员。它还允许在声明的对象上调用它const

;标记语句的结束。

于 2012-08-06T12:57:40.930 回答
-1

阅读指针,如果你想用 C++ 编写代码,你需要知道它们是如何工作的:

http://www.cplusplus.com/doc/tutorial/pointers/

& 表示您传递的是流的内存地址,而不是流的值

于 2012-08-06T11:43:55.347 回答