c++ 函数后面有个 const】的更多相关文章

函数重载 函数重载的定义是:在相同的作用域中,如果函数具有相同名字而仅仅是形参表不同,此时成为函数重载.注意函数重载不能基于不同的返回值类型进行重载. 注意函数重载中的"形参表"不同,是指本质不同,不要被一些表象迷惑.main函数不能被重载. 下面三组定义本质是相同的,不是重载: 1)int sum (int &a); 和 int sum (int &); 2)  int sum (int a) 和 int sum (const int a); 3)typedef in…
今天在写程序的时候,出现了一个错误  "对象包含与成员函数不兼容的类型限定符",从网上查了一下,原来原因是这样子的 void showPair();改成 void showPair()const;   在具有 如上图所示的函数中,如果调用了其它函数,那么其它函数也必须有 const 属性,否则就会出现 类型限定符不兼容的错误!…
错误场景:类中的重载函数 编译报错: 函数后面加了 const 就好了. 非静态成员函数后面加const(加到非成员函数或静态成员后面会产生编译错误), 表示成员函数隐含传入的this指针为 const指针, 决定了在该成员函数中,任意修改它所在的类的成员的操作都是不允许的(因为隐含了对this指针的const引用). 说白一点就是: 不会改变对象中成员变量的数值.…
#include<iostream> #include<cstring> #include<cstdlib> #include<cstdio> #include<algorithm> using namespace std; class Base{ private: int x; char *p; public: Base(void){ x=; p=()); strcpy(p,"); } void Set_x(int tx){ x=tx…
类的成员函数后面加 const,表明这个函数不会对这个类对象的数据成员(准确地说是非静态数据成员)作任何改变. 在设计类的时候,一个原则就是对于不改变数据成员的成员函数都要在后面加 const,而对于改变数据成员的成员函数不能加 const.所以 const 关键字对成员函数的行为作了更加明确的限定:有 const 修饰的成员函数(指 const 放在函数参数表的后面,而不是在函数前面或者参数表内),只能读取数据成员,不能改变数据成员:没有 const 修饰的成员函数,对数据成员则是可读可写的.…
来自:http://blog.csdn.net/farrellcn/article/details/9096787 ------------------------------------------------------------------------------ 很多书籍中说函数参数如果是String类型的,如果在函数内部不改变参数的值,使用 const 修饰符会加快程序的执行速度,至于如何加快的?有的人说是因为 const 函数保证了参数字符串不会被复制.以前也没有对这个问题深入研究…
import java.util.Scanner; /*** * 1. 给定一个字符串,把字符串内的字母转换成该字母的下一个字母,a换成b,z换成a,Z换成A,如aBf转换成bCg, 字符串内的其他字符不改变,给定函数,编写函数 void Stringchang(const char*input,char*output) 其中input是输入字符串,output是输出字符串 * * */ public class Test { public static void main(String[] a…
函数返回值为 const 指针,可以使得外部在得到这个指针后,不能修改其指向的内容.返回值为 const 引用同理. class CString { private: char* str; public: const char* c_str() const; }; const char* CString::c_str() const { return str; } int main() { CString s; const char* p = s.c_str(); } 下面的两条语句编译时都会报…
说明这个函数不能修改这个类的成员变量!只能操作自己的参数和内部的范围变量! 括号内的&id,&表示这个变量和C# in和out是一样的,算是一个reference,可以更改值,要想不更改,需要用 (const int &id);…
http://blog.csdn.net/gmstart/article/details/7046140 在C++的类定义里面,可以看到类似下面的定义: 01 class List { 02 private: 03      Node * p_head; 04      int length; 05      …… 06 Public: 07      int GetLength () const; 08      bool GetNodeInfo(const int index,Node &…