亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁(yè) > 編程 > C++ > 正文

C++形參中const char * 與 char * 的區(qū)別

2019-11-06 06:19:44
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

在函數(shù)調(diào)用時(shí),我們經(jīng)??匆?jiàn)一個(gè)函數(shù)的接受參數(shù)為(const char *);

  例如strlen()函數(shù),它的定義為:

 size_t strlen(       const char *str);

  那么將形參設(shè)置為const的到底有什么好處呢?網(wǎng)絡(luò)上經(jīng)常的回答是:這樣將把形參限定為常量,使得我們不能修改它??偢杏X(jué)這種說(shuō)法似乎是明白了,但再仔細(xì)的想下,總覺(jué)得少點(diǎn)什么。

  在我看來(lái),這樣做的好處有2點(diǎn):

  第一,   保證了實(shí)參不能被修改,增加了安全性。

  第二,   擴(kuò)大了該函數(shù)的參數(shù)的接收范圍,使得函數(shù)更具通用性。

  而第二點(diǎn),在我看來(lái),是讓我恍然大悟的,終于理解了const的作用。

從下邊這個(gè)例子中,我們可以看出這兩點(diǎn)好處;寫(xiě)一個(gè)函數(shù)length(),實(shí)現(xiàn)與strlen()相同的功能,然后進(jìn)行調(diào)用,代碼如下:

#include <string>#include <stdio.h>#include <tchar.h>#include <iostream>using namespace std;void length(char *s){    int count = 0;    for (;*s++ !='/0';count++);    PRintf("common  length: %d/n",count);}int _tmain(int argc, _TCHAR* argv[]){    char str1[] = "you are a boy 1!";    length(str1); //字符數(shù)組    length("you are a boy2 !"); //常量    char *s  = "you are a boy 3!";    length(s); //字符指針    return 0;}

  上面程序可以正確的編譯運(yùn)行,并且輸出3行“common  length:16”。

  但是,如果我想計(jì)算一下一個(gè)string類(lèi)型的長(zhǎng)度呢?因?yàn)閘ength(char *s)的接受參數(shù)為char *,我們可以使用stirng類(lèi)的c_str()方法返回string的字符指針(char *),于是,我們這樣操作:

string str2 = "you are a boy 5!";length(str2.c_str());

  上邊的做法看起來(lái)沒(méi)什么錯(cuò)誤,可是這樣是通不過(guò)編譯的,因?yàn)閟tr2.c_str()返回的是const char *,而我們的length接受的是char *,const char * 是不能轉(zhuǎn)換成 char *的。

    因?yàn)閏onst char * s 表示其指針?biāo)赶虻膬?nèi)容是只讀的,不能被修改,而char * s指向的內(nèi)容是可以修改的,把一個(gè)常量指針轉(zhuǎn)換成普通的指針,這顯然是不符合邏輯的。關(guān)于常量指針和指針常量以及普通的指針的區(qū)別,請(qǐng)查閱相關(guān)文檔。

    我們?cè)倩剡^(guò)頭來(lái)看length的需求,length的目的是計(jì)算出字符串的長(zhǎng)度,它不對(duì)字符串本身做修改,對(duì)于類(lèi)似的這種需求的函數(shù)(不修改實(shí)參),我們應(yīng)該而且強(qiáng)烈推薦使用const來(lái)修飾形參,這也是一種良好的編碼習(xí)慣。

    很明顯的看出,如果這樣定義:void length(char *s),它將不能接受常量字符指針與常量字符數(shù)組。這正是使用const定義形參的第2個(gè)好處:擴(kuò)大了該函數(shù)的參數(shù)的接收范圍;使得函數(shù)更具通用性。

    常量字符指針是指:str2.c_str()或者str2.data()的返回值,或者自己定義的

    常量字符數(shù)組是指:const char str1[] = "you are a boy 1!";


發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

日本在线观看不卡| 亚洲一区在线日韩在线深爱| 欧美极品少妇xxxxⅹ裸体艺术| 天堂成人娱乐在线视频免费播放网站| 亚洲av无一区二区三区久久| 国产精品久久一| 亚洲人亚洲人成电影网站色| 国产精品久久久久77777丨| 欧美午夜精品久久久久久蜜| 欧美成人久久久免费播放| 欧美熟妇精品一区二区| 国产va亚洲va在线va| 亚洲精品中文字| 久久综合九色综合97婷婷女人| 免费看成年视频网页| 国产美女极品在线| 黄色片av在线| 成年网站免费视频黄| 国模gogo一区二区大胆私拍| 特一级黄色片| 99re视频在线观看| 久久婷婷成人综合色| 亚洲乱码精品| 在线观看一区二区三区视频| 一区二区三区四区欧美日韩| 牛夜精品久久久久久久99黑人| 九一国产在线| 成人精品视频在线| 欧美在线日韩精品| 久久久亚洲成人| 日韩免费在线观看av| 亚洲三级视频网站| 一区二区冒白浆视频| www.se五月| 欧美成人69| japanesexxxxfree在线观看| 九色蝌蚪av新入口| 91精品视频网| 91在线视频免费播放| 久久国产精品视频在线观看| 99国内精品久久| 亚洲午夜福利在线观看| 日韩欧美在线视频| 麻豆精品国产传媒mv男同| 日韩亚洲欧美中文字幕| 一个色妞综合视频在线观看| 九九久久九九久久| 国产视频在线观看免费| caopeng视频| 91九色美女在线视频| 国产欧美日韩精品高清二区综合区| 色视频在线观看福利| 中文字幕超碰在线| 国产欧美高清视频在线| 欧美三级日韩三级国产三级| 国产亚洲精品综合一区91| 国产伦精品一区二区三区免费迷| 日本福利小视频| 在线国产视频一区| 亚洲国产免费看| 无码无遮挡又大又爽又黄的视频| 中文字幕日本人妻久久久免费| 国产亚洲精品久久久| 亚洲激情黄色| 欧美激情第1页| 一区二区在线免费观看视频| 在线成人av观看| 97aⅴ精品视频一二三区| 欧美aaa大片| 91九色蝌蚪成人| 伊人精品久久| 韩日av一区二区| 亚州男人的天堂| 国产黄色免费视频| www.久久伊人| 37p粉嫩大胆色噜噜噜| 久久伊人中文字幕| dy888亚洲精品一区二区三区| 在线精品一区| 五月开心六月丁香综合色啪| 国内揄拍国内精品少妇国语| 久久精品视频一区二区三区| 波多野结衣国产| 日本wwwwww| 在线观看欧美黄色| 精品中文字幕一区二区小辣椒| 国产黄视频在线观看| 久草一区二区| 欧美亚洲天堂网| 一级黄色片日本| 久久免费国产视频| 黄色成人在线| 欧美12一14sex性hd| www黄色日本| 黄色亚洲网站| 日本一区影院| 亚洲va欧美va人人爽成人影院| 美女把腿扒开让男人桶免费| 亚洲春色一区二区三区| 无码aⅴ精品一区二区三区浪潮| 国产精品久久久久久免费观看| 一本色道**综合亚洲精品蜜桃冫| 欧美在线一二三| 青青青草视频| 国内精品久久久久影院色| 日韩欧美一区电影| 美女性感视频久久久| 精品日韩视频| 青娱乐精品视频| 国产精品一区二区av白丝下载| 7777奇米亚洲综合久久| 女女同性女同一区二区三区按摩| 97在线视频免费看| 韩国97影院| 91精品国产自产在线丝袜啪| 日韩精品久久久久久久软件91| 不卡的av网站| 日韩女优视频免费观看| 国产一级大片在线观看| 九色在线91| 国产日韩中文字幕在线| 中文字幕第5页| 妖精视频一区二区三区免费观看| 美女av网站| 国产精品嫩草69影院| 三级毛片在线免费看| 四虎永久国产精品| 精品影片一区二区入口| 99免在线观看免费视频高清| av色综合久久天堂av综合| 校园春色欧美| 欧美日韩精品在线观看视频| 91久久夜色精品国产网站| 国产精品 日产精品 欧美精品| 老太脱裤子让老头玩xxxxx| av网址观看| 亚洲av无码乱码国产精品fc2| 99国产精品视频免费观看一公开| 视频一区视频二区中文字幕| 97精品国产露脸对白| bdsmchinese医疗折磨| 丁香婷婷久久| 欧美日韩一二区| 97精品视频在线看| 国产肉体ⅹxxx137大胆| freee性欧美| 天天弄天天操| 亚洲欧洲日韩国产| 久久动漫亚洲| 亚洲第一成肉网| 欧美性猛交ⅹxxx乱大交免费| 欧美视频在线第一页| 免费黄色片视频| 少妇高潮久久久久久潘金莲| 四虎国产精品免费| 成人一级片网站| 蜜桃av综合| 精品无人区麻豆乱码久久久| 久久国内精品一国内精品| 忘忧草在线影院两性视频| 一区不卡视频| 午夜视频一区| 男人天堂午夜在线| 在线观看欧美日韩| 少妇大叫太大太粗太爽了a片小说| www黄com| 最新日本在线观看| 日韩专区视频网站| 亚洲成人av一区二区三区| 色爱综合av| 欧美日韩性生活| 国产18无套直看片| 日韩美女免费观看| 黄色网页网址在线免费| 亚洲欧美日韩爽爽影院| 一区二区欧美日韩| 亚洲精品国产精品乱码不99| 人人妻人人爽人人澡人人精品| 久久久噜噜噜久久狠狠50岁| 国产黄a三级三级三级| 99精品桃花视频在线观看| 日韩欧美一区二区三区免费观看| 国产美女永久免费| 国产精品美女久久久| 欧美一级特黄aaaaaa在线看片| 日日av拍夜夜添久久免费| 99re6热只有精品免费观看| 欧美在线观看视频在线| 91豆花视频在线播放| av资源网在线播放| 精品久久久无码人妻字幂| 国产精品99久久久久久成人| 亚洲国产高清国产精品| 精品国产乱码久久久久久浪潮| 99久久久无码国产精品| 免费永久在线观看黄网| 国产v片在线观看| 亚洲级视频在线观看免费1级| 日韩精品高清不卡| 黄视频在线播放| 日韩精品人妻中文字幕| 五月婷婷综合在线| 欧美在线影院| 日韩视频在线一区二区| 粉嫩小泬无遮挡久久久久久| 久久精品影视伊人网| 欧美另类精品xxxx孕妇| 六月丁香婷婷激情| 亚洲欧美制服综合另类| 欧美成人精品h版在线观看| 五月婷婷一区二区| 性高湖久久久久久久久| 中文字幕一区二区三区免费看| 久久精品无码一区二区三区| 国产精品永久入口久久久| 亚洲欧美一区二区精品久久久| 久久99精品久久久水蜜桃| 国产精品伦一区二区三级视频| av中文字幕在线看| 一区二区在线免费观看视频| 中文字幕在线看精品乱码| 伊人色综合久久天天五月婷| 韩日精品一区二区| 欧美中文字幕一区二区三区亚洲| 加勒比在线一区二区三区观看| 成人在线中文| 福利视频网站导航| 九九热只有这里有精品| 26uuu亚洲电影| 成人亚洲免费| 国外成人在线视频| 久久久午夜视频| 亚洲国产精品高清| 国产精品美女久久久浪潮软件| 538在线视频| 欧美一级爽aaaaa大片| 国产福利电影在线观看| 中文字幕日本最新乱码视频| 欧美福利视频一区| 久久久久久久久久久综合| 牛牛澡牛牛爽一区二区| 激情综合丁香| 性一交一乱一色一免费无遮挡| 欧美精品videos极品| 色妇色综合久久夜夜| 国产又爽又黄又舒服又刺激视频| 欧美亚洲精品在线观看| 曰本色欧美视频在线| 午夜私人影院在线观看| av麻豆国产| 日韩欧美高清在线视频| 亚洲国产一区二区三区在线播| 综合激情网站| 22288色视频在线观看| 99视频精品全部免费看| 精品视频一区二区三区四区五区| 99亚洲视频| eeuss中文字幕| h网站在线观看| 久久亚洲一区二区三区四区| 欧美极度另类| 成片免费观看| 欧美午夜一区二区福利视频| 国产精品无码久久久久成人app| 久久高清无码视频| 伊人精品在线视频| 大胆日韩av| 天天操天天干天天操天天干| 91在线在线观看| 6080yy午夜一二三区久久| 久久国产精品波多野结衣| 欧美成人xxx| 久久久久久久国产精品| 97久久精品一区二区三区的观看方式| 亚洲电影免费观看高清完整版在线观看| 扒开伸进免费视频| 日本免费视频| 欧美性高清videossexo| 亚洲一区二区久久久久久| 欧美一级二级三级蜜桃| 欧美不卡1区2区3区| 亚洲成人www| 中文字幕avav| 精品免费久久久| 久久久久久一区二区三区四区别墅| 精品中文字幕一区| 欧美日韩另类图片| 神马久久久久久久久久久| 99精品桃花视频在线观看| 亚洲精品中文字幕在线| 91国产丝袜在线播放| 国产精品456| 国产成人高清精品| 私人高清影院 强乱中文字| 久草视频这里只有精品| 一区二区传媒有限公司| 最近中文字幕mv免费高清电影| 最新精品视频| 五月天婷婷在线观看视频| 亚洲天天综合网| 九九热这里只有在线精品视| 特黄特黄一级片| 激情亚洲另类图片区小说区| 日本免费黄视频| 成人自拍视频网站| 青青草国产成人a∨下载安卓| 国产在线国偷精品产拍免费yy| 午夜裸体女人视频网站在线观看| 日韩在线免费av| 成人精品亚洲人成在线| 四虎影视精品成人| 国内在线观看一区二区三区| 午夜免费福利视频| 中文字幕视频网站| 正在播放亚洲1区| 亚洲黄色小说在线观看| 国产精品宾馆在线精品酒店| 欧美日韩电影在线| 国产蜜臀av在线一区二区三区| 欧美性一区二区| 日本久久电影网| 亚洲激情网站免费观看| free性护士videos欧美| 精品亚洲一区二区三区四区| 黄色网在线免费看| 亚洲r级在线观看| 欧美日韩破处视频| 98视频在线噜噜噜国产|