为什么const需要[C ++]?

时间:2010-12-24 02:46:29

标签: c++

  

可能重复:
  What's the difference between a const member function and a non-const member function?

    class Message
{
    public:
        Message(const char* pStr, const char* key);
        Message(const char* pStr);
        Message();

        void encryptMessage();
        void decryptMessage();

        const char* getUnMessage() const;
        const char* getEnMessage() const;

        void getMessage();
        void getKey();

        ~Message();

    private:
        char* pUnMessage;
        char* pEnMessage;
        char* pKey;
};

在这个程序中,为什么要使用const? (2个不同的地方)请为我解释那些2。 非常感谢你!

3 个答案:

答案 0 :(得分:1)

const在C ++中用于很多事情。通常,声明方法实际上不会修改对象的状态,或声明无法修改指针,或声明无法修改,或两者都有。

如需进一步阅读,我建议如下:

http://duramecho.com/ComputerInformation/WhyHowCppConst.html

答案 1 :(得分:0)

  

const char * getUnMessage() const ;

表示可以为const类的实例调用getUnMessage()。它对返回值的常量没有任何影响。

  

const char * getUnMessage()const;

...表示从getUnMessage()返回的值是const(并且没有说明调用其成员函数的对象的常量。)

答案 2 :(得分:0)

我可以重新解释所有内容,但此链接将提供有关const关键字使用的更多信息:http://www.parashift.com/c++-faq-lite/const-correctness.html