函数里的 con 是什么意思? Con是什么意思

\u6570\u5b66\u4e2d\u7684con\u4ee3\u8868\u4ec0\u4e48\uff1f\uff1a

constant\u5e38\u6570

\u6234con\u662f\u6234\u9690\u5f62\u773c\u955c\u7684\u610f\u601d\u3002\u9690\u5f62\u773c\u955c\u7684\u82f1\u6587\u662fcontact lens\u3002\u6234con\u7684\u8bf4\u6cd5\u6765\u6e90\u4e8e\u9999\u6e2f\uff0c\u56e0\u9999\u6e2f\u4eba\u559c\u6b22\u8bf4\u8bdd\u65f6\u6df7\u5408\u4e2d\u6587\u548c\u82f1\u6587\uff0c\u4e3a\u539f\u672c\u5168\u4e2d\u6587\u7684\u5197\u957f\u53e5\u5b50\u7f29\u77ed\u548c\u7cbe\u7b80\uff0c\u8bb2\u6c42\u8bf4\u8bdd\u7684\u6548\u7387\u3002

\u6269\u5c55\u8d44\u6599\uff1a
\u9690\u5f62\u773c\u955c\uff08contact lens\uff09\uff0c\u4e5f\u53eb\u89d2\u819c\u63a5\u89e6\u955c\uff0c\u662f\u4e00\u79cd\u6234\u5728\u773c\u7403\u89d2\u819c\u4e0a\uff0c\u7528\u4ee5\u77eb\u6b63\u89c6\u529b\u6216\u4fdd\u62a4\u773c\u775b\u7684\u955c\u7247\u3002
\u6839\u636e\u6750\u6599\u7684\u8f6f\u786c\u5b83\u5305\u62ec\u786c\u6027\u3001\u534a\u786c\u6027\u3001\u8f6f\u6027\u4e09\u79cd\u3002
\u4ece\u5916\u89c2\u4e0a\u5206\uff0c\u9690\u5f62\u773c\u955c\u6709\u900f\u660e\u955c\u7247\u548c\u7f8e\u77b3\u4e24\u79cd\uff0c\u900f\u660e\u955c\u7247\u53ea\u662f\u7528\u4e8e\u77eb\u6b63\u89c6\u529b\uff0c\u800c\u7f8e\u77b3\u5219\u662f\u4e00\u79cd\u5f69\u8272\u955c\u7247\uff0c\u5b83\u53ef\u4ee5\u5229\u7528\u672c\u8eab\u6240\u5177\u6709\u7684\u8272\u5f69\u6765\u6539\u53d8\u773c\u775b\u7684\u989c\u8272\uff0c\u653e\u5927\u3001\u589e\u4eae\u53cc\u773c\uff0c\u8d77\u5230\u7f8e\u5316\u77b3\u5b54\u7684\u6548\u679c\u3002
\u6309\u7167\u4ea7\u54c1\u4f69\u6234\u7684\u65f6\u95f4\u957f\u77ed\u6765\u5212\u5206\uff0c\u901a\u5e38\u5206\u4e3a\u65e5\u6234\u3001\u5f39\u6027\u4f69\u6234\u3001\u957f\u6234\u7b49\u7c7b\u522b\u3002\u5176\u4e2d\u65e5\u6234\uff0c\u4e3b\u8981\u662f\u6307\u4f69\u6234\u7684\u4eba\u5728\u6ca1\u6709\u7761\u89c9\u65f6\u3001\u6d3b\u52a8\u72b6\u6001\u4e0b\u4f69\u6234\u7684\u773c\u955c\uff0c\u4e00\u822c\u60c5\u51b5\u4e0b\u662f12\u4e2a\u5c0f\u65f6\uff1b\u800c\u957f\u6234\u7684\uff0c\u662f\u6307\u53ef\u4ee5\u957f\u65f6\u95f4\u4f69\u6234\u7684\uff0c\u8fde\u7eed\u591a\u65e5\uff0c\u5373\u4f7f\u662f\u7761\u89c9\u7684\u65f6\u5019\u90fd\u53ef\u4ee5\u6234\u7740\u7761\u89c9\uff0c\u4e0d\u9700\u8981\u6458\u4e0b\u6765\u3002
\u9690\u5f62\u773c\u955c\u4e0d\u4ec5\u4ece\u5916\u89c2\u4e0a\u548c\u65b9\u4fbf\u6027\u65b9\u9762\u7ed9\u8fd1\u89c6\u3001\u8fdc\u89c6\u3001\u6563\u5149\u7b49\u5c48\u5149\u4e0d\u6b63\u60a3\u8005\u5e26\u6765\u4e86\u5f88\u5927\u7684\u6539\u5584\u3002\u800c\u4e14\u89c6\u91ce\u5bbd\u9614\u3001\u89c6\u7269\u903c\u771f\uff0c\u6b64\u5916\u5728\u63a7\u5236\u9752\u5c11\u5e74\u8fd1\u89c6\u3001\u6563\u5149\u53d1\u5c55\uff0c\u6cbb\u7597\u7279\u6b8a\u7684\u773c\u75c5\u7b49\u65b9\u9762\u4e5f\u53d1\u6325\u4e86\u7279\u6b8a\u7684\u529f\u6548\u3002
\u53c2\u8003\u8d44\u6599\uff1a\u9690\u5f62\u773c\u955c\u2014\u2014\u767e\u5ea6\u767e\u79d1

函数后面加const是表明这个函数不会更改class的状态,即class内各成员变量的值。编译器如果发现某个const函数里改变了成员变量的值会报错。比如下面这个例子。
struct A {
int i;
void set(int v) {i = v;} //不能加const,因为i值改变了。
int value() const {return i;} //正确,i值没有改变。
int value2() const {return i++;} //错误,因为i值改变了。必须将const去掉。
};

如果函数比较复杂时,比如并不直接改变某个值,但是调用了其它函数,编译器怎么判断函数是否const呢。可以看下面的例子。

struct B {
A a; //B里包含一个A类成员。
int func1() const {return a.value();} //正确,所调用的a.value()也是一个const函数。
int func2() const {return a.value2();} //错误,a.value2()不是const函数。
};

也就是说,在const函数里只能调用成员的const函数以保证成员状态不会改变。

所以,在设计类的函数里,区别const和非const函数并标记出来是个好习惯,既保证自己不会对类误操作,也可以明示别人调用你的类里哪些会改变类状态。

扩展阅读:女生说x是什么意思 ... 函数极限的 ε-δ 定义 ... 三角函数的con啥意思 ... 1'' 和1' 分别代表多少秒 ... con是什么缩写 ... ∑是什么意思 ... sin tan cos函数表 ... con在电路中什么意思 ... 三角函数里的 π 是什么意思 ...

本站交流只代表网友个人观点,与本站立场无关
欢迎反馈与建议,请联系电邮
2024© 车视网