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; }
作者:沐禹辰
出处:http://www.cnblogs.com/renfanzi/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。
出处:http://www.cnblogs.com/renfanzi/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。