c++类成员函数后边加const是为什么?

时间是让人猝不及防的东西,晴是有风阴时有雨,争不过朝夕,又念着往昔,偷走了青丝却留住一个你

 

#include <iostream>
#include <string>

using namespace std;

class Test {
public:
    string get_name() const // 这个const通常会用在这个类方法函数不修改内容的情况下;如果这个const删掉就会报错
    {
        return "哈哈哈";
    };
private:
};

void vvv(const Test &t) { //注意,这里的const
    string data = t.get_name();
    // 因为编译时候,编译器怀疑这个类方法函数会修改,const不变量嘛
    // 所以这时候会报错,如果在类成员函数get_name后边加上const,编译器就知道了,用途在这里

    cout << data << endl;
};

int main() {
    Test t;
    vvv(t); // 这里用的是浅拷贝
    std::cout << "Hello, World!" << std::endl;
    return 0;
}

 

posted @ 2018-12-29 10:46  我当道士那儿些年  阅读(2071)  评论(0编辑  收藏  举报