C++在函数声明时,后面跟个const是什么意思?

C++在函数声明时,后面跟个const是限定函数类型为常成员函数, 常成员函数是指不能改变成员变量值的函数。

例如“double d() const;”,其中的其中的“const”限定了d()函数中不能有任何改变其所属对象成员变量值的功能,如果有则会在编译阶段就报错。

它的主要作用就是能使成员函数的意义更加清楚,我们可在不改变对象的成员函数的函数原型中加上const说明。在需要增加可读性和减少逻辑出错的情况下,就可以用这种形式。

扩展资料:

简单介绍

一、const与define。两者都可以用来定义常量,但是const定义时,定义了常量的类型,所以更精确一些。#define只是简单的文本替换,除了可以定义常量外,还可以用来定义一些简单的函数,有点类似内联函数(Inline)。const和define定义的常量可以放在头文件里面。(小注:可以多次声明,但只能定义一次)

二、》》const与指针和引用。

1、const与指针。

先来看看下面的几种定义:

int me;

const int* p1 = &me;//p1可变,*p1不可变,此时不能用*p1来修改,但是p1可以转向

int* const p2 = &me;//p2不可变,*p2可变,此时允许*p2来修改其值,但是p2不能转向。

const int* const p3 = &me;//p3不可变,*p3也不可变,此时不能用*p3来修改其值。

2、指针和引用的区别很简单,就是引用更简洁,更安全。因为引用声明时必须初始化。 引用更接近const指针,一旦与某个变量关联,就将一直效忠于他。

3、const指针可以接受const和非const地址,但是非const指针只能接受非const地址。所以const指针的能力更强一些,所以尽量多用const指针,这是一种习惯。

参考资料来源:百度百科-CONST (C++中CONST)



  • ...缂栬瘧鍣ㄧ紪璇鍚鐨鍑芥暟,涓轰粈涔堣鍔 extern 鈥C鈥澹版槑?
    绛旓細棣栧厛锛屼綔涓篹xtern鏄C/C++璇█涓〃鏄鍑芥暟鍜鍏ㄥ眬鍙橀噺浣滅敤鑼冨洿锛堝彲瑙佹э級鐨勫叧閿瓧锛岃鍏抽敭瀛楀憡璇夌紪璇戝櫒锛屽叾澹版槑鐨勫嚱鏁板拰鍙橀噺鍙互鍦ㄦ湰妯″潡鎴栧叾瀹冩ā鍧椾腑浣跨敤銆 閫氬父锛屽湪妯″潡鐨勫ご鏂囦欢涓鏈ā鍧楁彁渚涚粰鍏跺畠妯″潡寮曠敤鐨勫嚱鏁板拰鍏ㄥ眬鍙橀噺浠ュ叧閿瓧extern澹版槑銆備緥濡傦紝濡傛灉妯″潡B娆插紩鐢ㄨ妯″潡A涓畾涔夌殑鍏ㄥ眬鍙橀噺鍜屽嚱鏁版椂鍙渶...
  • ...缂栬瘧鍣ㄧ紪璇鍚鐨鍑芥暟,涓轰粈涔堣鍔 extern 鈥C鈥澹版槑?
    绛旓細C++鍜孋娣峰悎缂栫▼鏃跺悓鏍锋槸杩欎釜闂,鎵浠ュ湪瀹炰綋娣峰悎缂栫▼鍓,纭繚浣犵殑C++缂栬瘧鍣ㄥ拰C缂栬瘧鍣ㄥ吋瀹广傜‘璁ゅ吋瀹鍚,杩樻湁鍥涗釜瑕佽冭檻鐨勯棶棰:鍚嶅彉鎹,闈欐佸垵濮嬪寲,鍐呭瓨鍔ㄦ佸垎閰,鏁版嵁缁撴瀯鍏煎銆* 鍚嶅彉鎹㈠悕鍙樻崲,灏辨槸C++缂栬瘧鍣ㄧ粰绋嬪簭鐨勬瘡涓鍑芥暟鎹竴涓嫭涓鏃犱簩鐨勫悕瀛椼傚湪C涓,杩欎釜杩囩▼鏄笉闇瑕佺殑,鍥犱负娌℃湁鍑芥暟閲嶈浇,浣嗗嚑涔庢墍鏈塁++绋嬪簭閮...
  • ...缂栬瘧鍣ㄧ紪璇鍚鐨鍑芥暟,涓轰粈涔堣鍔 extern 鈥C鈥澹版槑?
    绛旓細鍋囪鏌涓狢鍑芥暟鐨澹版槑濡備笅锛歷oid foo(int x, int y);璇ュ嚱鏁拌C缂栬瘧鍣ㄧ紪璇戝悗鍦ㄥ簱涓殑鍚嶅瓧涓篲foo锛岃孋++缂栬瘧鍣ㄥ垯浼氫骇鐢熷儚_foo_int_int涔嬬被鐨勫悕瀛楃敤鏉ユ敮鎸佸嚱鏁伴噸杞藉拰绫诲瀷瀹夊叏杩炴帴銆傜敱浜庣紪璇戝悗鐨勫悕瀛椾笉鍚岋紝C++绋嬪簭涓嶈兘鐩存帴璋冪敤C鍑芥暟銆侰++鎻愪緵浜嗕竴涓狢杩炴帴浜ゆ崲鎸囧畾绗﹀彿extern鈥淐鈥濇潵瑙e喅杩欎釜闂銆備緥濡傦細e...
  • ...缂栬瘧鍣ㄧ紪璇鍚鐨鍑芥暟,涓轰粈涔堣鍔 extern 鈥C鈥澹版槑?
    绛旓細涓昏鏄负浜嗚В鍐矯++涓嚱鏁板彲浠ラ噸杞借繖涓壒鎬,璇︾粏鍘熷洜濡備笅:鍑芥暟缁忚繃缂栬瘧绯荤粺鐨勭炕璇戞垚姹囩紪锛屽嚱鏁鍚嶅搴旂潃姹囩紪鏍囧彿銆傚洜涓C缂栬瘧鍑芥暟鍚嶄笌寰楀埌鐨勬眹缂栦唬鍙峰熀鏈竴鏍凤紝濡傦細fun()=>_fun, main=>_main 浣嗘槸C++涓嚱鏁板悕涓庡緱鍒扮殑姹囩紪浠e彿鏈夋瘮杈冨ぇ鐨勫樊鍒傚锛氱敱浜庡嚱鏁伴噸杞斤紝鍑芥暟鍚嶄竴鏍凤紝浣嗘眹缂栦唬鍙风粷瀵逛笉鑳戒竴鏍枫備负浜...
  • 鍦C璇█涓,杩欐牱鐨鍑芥暟涓负浠涔堝弬鏁鍚庨潰鍙堣窡涓涓弬鏁,杩欐槸浠涔堣娉?
    绛旓細鎴戣寰楄繖鏄湪宸х敤#define銆傛墦涓瘮鏂瑰浜#define CC鍜宨nt test1(int v1 CC)CC鍦ㄤ笂杩颁緥瀛愪负绌烘墍浠ュ苟涓嶅奖鍝嶃備絾鏄憿濡傛灉璁炬兂浣滆呯殑褰撴椂鐨勮璁℃剰鍥炬槸涓嶇‘瀹氱殑锛岄偅涔堝氨鏈変竴鐐圭敤浜嗗亣璁炬垜瑕佸啓浠g爜璁捐涓涓鍑芥暟---浣嗘槸鎴戝苟涓嶇‘瀹氬畠鏄笉鏄痗onst锛屽氨鏈夊繀瑕佽繖涔堝啓浜嗭紙const鏀鍚庨潰锛鏀惧墠闈㈢瓑浠凤級define CC int...
  • c璇█闂,杩欎簺鍑芥暟鍚庤竟璺熶釜const 鍟ユ剰鎬 姹傝В
    绛旓細鍏堢湅鐪嬩笅闈㈣繖娈典唬鐮侊細constStockland=Stock("hyd");land.show();land 鏄父閲忥紝浣嗘槸绫绘垚鍛鍑芥暟show鏃犳硶淇濊瘉涓嶄慨鏀筶and锛屾墍浠ョ紪璇戝櫒灏嗘嫆缁濇墽琛岃娈典唬鐮併傞櫎闈炰綘鑳戒繚璇乻how鍍廲onst鍑芥暟涓鏍凤紝浣嗚繖闇瑕佸彟澶栦竴绉嶈娉曪紝鍗筹細void show() const; //澹版槑 void Stock::show() const{} //瀹氫箟 ...
  • c璇█ 鍦ㄥ嚱鏁板0鏄庢椂,鏈夋椂鎶婂0鏄庨儴鍒嗘斁main涓婇潰,鏈夋椂鏀緈ain{}閲岄潰,鏈...
    绛旓細濡傛灉鏄鍑芥暟澹版槑锛鏀剧殑浣嶇疆鏄湪main鍐呰繕鏄娌℃湁鍖哄埆锛屽彧瑕佸湪璋冪敤涔嬪墠鍗冲彲銆備絾鏄彉閲忓氨涓嶅悓浜嗭紝鍦╩ain澶 鏄叏灞鍙橀噺锛屽湪main鍐呮槸main鍑芥暟鐨勫眬閮ㄥ彉閲忋
  • c璇█鍦ㄥ鍑芥暟澹版槑鏃,骞朵笖鏄湪main鍑芥暟涔嬪悗澹版槑,濡傛灉鍑芥暟鏄痠nt...
    绛旓細濡傛灉琚紩鐢鍑芥暟鍦ㄥ叾浠栨枃浠朵腑瀹氫箟鐨勶紝灏卞湪涓诲嚱鏁板澹版槑锛涘鏋滄槸鍦ㄨ鏂囦欢涓畾涔夌殑锛屽氨搴斿綋鍦ㄤ富鍑芥暟涓0鏄庛備綘鐨勫嚑涓嚱鏁伴兘鏄湪涓涓枃浠朵腑瀹氫箟鐨勶紝鎵浠ュ簲褰撳湪main涓0鏄庡笇鏈涘浣犳湁鐢紒锛
  • C璇█鍦ㄥ啓绋嬪簭鏃剁粡甯镐細鍦ㄥ嚱鏁鐨勬湯灏炬湁涓猤etch().杩欐湁浠涔堜綔鐢ㄤ箞?_鐧惧害...
    绛旓細绛夋晥浜巗ystem("pause");濡傛灉涓嶅瓨鍦ㄨ繖鍙ワ紝閭d箞鍛戒护琛岀▼搴忓湪杩愯鍚庝細鑷姩閫鍑恒傝〃鐜板嚭鏉ョ殑褰㈠紡灏辨槸榛戠獥鍙d竴闂岃繃锛岀湅涓嶅埌杈撳嚭銆傚姞涓婅繖鍙ワ紝鍙互浣跨獥鍙i┗鐣欙紝璧峰埌涓涓寜浠绘剰閿啀閫鍑虹殑鏁堟灉銆
  • c璇█鍦ㄨ繘琛鍑芥暟澹版槑鏃鎷彿鍐呯殑褰㈠弬绫诲瀷鑳界渷鍚?
    绛旓細--- 鑰佸紡c璇█ 褰㈠弬绫诲瀷鑳界渷锛屽舰鍙傚悕涓嶅彲浠ョ渷銆備絾灏忔嫭鍙峰锛岃姳鎷彿鍓嶏紝瑕佸姞褰㈠弬绫诲瀷澹版槑锛歩nclude <stdio.h> fun(a)int a;{ printf("a=%d",a);} main(){ int a = 123;fun(a);return 0;} 缁撴灉杈撳嚭 123
  • 扩展阅读:c++中<< ... c++函数的声明与定义 ... c++函数声明格式 ... c++简单程序实例 ... c++教程 ... vector c++ 用法 ... iterator c++ 用法 ... c++sort用法 ... c++怎么声明函数 ...

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