青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

syhd142  
日歷
<2011年2月>
303112345
6789101112
13141516171819
20212223242526
272812345
6789101112
統計
  • 隨筆 - 23
  • 文章 - 122
  • 評論 - 31
  • 引用 - 0

導航

常用鏈接

留言簿(2)

隨筆檔案(23)

文章分類(270)

文章檔案(122)

我的豆瓣

搜索

  •  

最新評論

閱讀排行榜

評論排行榜

 
原文地址;http://topic.csdn.net/u/20070402/18/7111613b-c5e4-485e-a5d0-33de9aebbaea.html
c++中 string與string.h 的作用和區(qū)別
#include <string.h>   
 
void main()   
{   
  string aaa= "abcsd d";   
  printf("looking for abc from abcdecd %s\n",   
  (strcmp(aaa,"abc")) ? "Found" : "Not Found");   
 
}   
不能正確執(zhí)行,提示說是string類型沒有定義   
而下面:   
#include <string>   
 
using namespace std;   
void main()   
{   
  string aaa= "abcsd d";   
  printf("looking for abc from abcdecd %s\n",   
  (strcmp(aaa,"abc")) ? "Found" : "Not Found");   
}   
這里的string編譯器就認識了,但是strcmp就不認識了呢?   
一般一個C++的老的帶“.h”擴展名的庫文件,比如iostream.h,在新標準后的標準庫中都有一個不帶“.h”擴展名的相對應,區(qū)別除了后者的好多改進之外,還有一點就是后者的東東都塞進了“std”名字空間中。   
 
但唯獨string特別。   
問題在于C++要兼容C的標準庫,而C的標準庫里碰巧也已經有一個名字叫做“string.h”的頭文件,包含一些常用的C字符串處理函數,比如樓主提到的strcmp。   
這個頭文件跟C++的string類半點關系也沒有,所以<string>并非<string.h>的“升級版本”,他們是毫無關系的兩個頭文件。   
要達到樓主的目的,比如同時:   
#include <string.h>   
#include <string>   
using namespace std;   
或者   
#include <cstring>   
#include <string>   
 
其中<cstring>是與C標準庫的<string.h>相對應,但裹有std名字空間的版本。
笑談(來自高質量++)
C++標準庫很大。非常大。難以置信的大。怎么個大法?這么說吧:在C++標準中,關于標準庫的規(guī)格說明占了密密麻麻300 多頁,這還不包括標準C 庫,后者只是"作為參考"(老實說,原文就是用的這個詞)包含在C++庫中。當然,并非總是越大越好,但在現在的情況下,確實越大越好,因為大的庫會包含大量的功能。標準庫中的功能越多,開發(fā)自己的應用程序時能借助的功能就越多。C++庫并非提供了一切(很明顯的是,沒有提供并發(fā)和圖形用戶接口的支持),但確實提供了很多。幾乎任何事你都可以求助于它。在歸納標準庫中有些什么之前,需要介紹一下它是如何組織的。因為標準庫中東西如此之多,你(或象你一樣的其他什么人)所選擇的類名或函數名就很有可能和標準庫中的某個名字相同。為了避免這種情況所造成的名字沖突,實際上標準庫中的一切都被放在名字空間std 中(參見條款28)。但這帶來了一個新問題。無數現有的C++代碼都依賴于使用了多年的偽標準庫中的功能,例如,聲明在<iostream.h>,<complex.h>,<limits.h>等頭文件中的功能。現有軟件沒有針對使用名字空間而進行設計,如果用std 來包裝標準庫導致現有代碼不能用,將是一種可恥行為。(這種釜底抽薪的做法會讓現有代碼的程序員說出比"可恥" 更難聽的話)懾于被激怒的程序員會產生的破壞力,標準委員會決定為包裝了std 的那部分標準庫構件創(chuàng)建新的頭文件名。生成新頭文件的方法僅僅是將現有C++頭文件名中的.h 去掉,方法本身不重要,正如最后產生的結果不一致也并不重要一樣。所以<iostream.h>變成了<iostream>,<complex.h>變成了<complex>,等等。對于C 頭文件,采用同樣的方法,但在每個名字前還要添加一個c。所以C 的<string.h>變成了<cstring>,<stdio.h>變成了<cstdio>,等等。最后一點是,舊的C++頭文件是官方所反對使用的(即,明確列出不再支持),但舊的C 頭文件則沒有(以保持對C 的兼容性)。實際上,編譯器制造商不會停止對客戶現有軟件提供支持,所以可以預計,舊的C++頭文件在未來幾年內還是會被支持。所以,實際來說,下面是C++頭文件的現狀:舊的C++頭文件名如<iostream.h>將會繼續(xù)被支持,盡管它們不在官方標
準中。這些頭文件的內容不在名字空間std 中。新的C++頭文件如<iostream>包含的基本功能和對應的舊頭文件相同,但頭文件的內容在名字空間std 中。(在標準化的過程中,庫中有些部分的細節(jié)被修改了,所以舊頭文件和新頭文件中的實體不一定完全對應。)標準C 頭文件如<stdio.h>繼續(xù)被支持。頭文件的內容不在std 中。
具有C 庫功能的新C++頭文件具有如<cstdio>這樣的名字。它們提供的內容和相應的舊C 頭文件相同,只是內容在std 中。所有這些初看有點怪,但不難習慣它。最大的挑戰(zhàn)是把字符串頭文件理清楚:<string.h>是舊的C 頭文件,對應的是基于char*的字符串處理函數;<string>是包裝了std 的C++頭文件,對應的是新的string 類(看下文);<cstring>是對應于舊C 頭文件的std 版本。如果能掌握這些(我相信你能),其余的也就容易了。
posted on 2011-02-13 00:49 Fucker 閱讀(1246) 評論(0)  編輯 收藏 引用

只有注冊用戶登錄后才能發(fā)表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


 
Copyright © Fucker Powered by: 博客園 模板提供:滬江博客
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            先锋影院在线亚洲| 久久久久www| 国产欧美日韩综合一区在线观看 | 欧美一区二区成人6969| 在线中文字幕一区| 亚洲制服av| 性做久久久久久久久| 欧美在线看片| 欧美成人激情视频免费观看| 欧美国产综合一区二区| 国产精品黄色| 在线电影国产精品| 国产精品99久久久久久久久| 久久精品99久久香蕉国产色戒 | 欧美黄色精品| 亚洲美女精品久久| 亚洲欧美日韩精品久久亚洲区| 欧美亚洲一区二区三区| 欧美1区2区3区| 国产精品欧美一区二区三区奶水| 国产欧美一级| 亚洲国产第一| 亚洲欧美中文另类| 农村妇女精品| 中文日韩在线| 久久人91精品久久久久久不卡| 欧美激情一区二区三区蜜桃视频| 国产精品色一区二区三区| 在线欧美日韩| 亚洲欧美另类中文字幕| 美女图片一区二区| 亚洲一区欧美二区| 免费精品99久久国产综合精品| 国产精品久久久久久久app| 亚洲国产成人久久综合| 性欧美超级视频| 亚洲三级网站| 久久精品免费看| 国产精品久久久久久av福利软件 | 一区二区三区日韩欧美精品| 国产亚洲一级| 亚洲一区视频| 欧美成人亚洲| 欧美在线观看天堂一区二区三区| 欧美日韩亚洲一区三区| 亚洲精品久久久久久下一站| 久久精品国产亚洲aⅴ| 一本色道久久加勒比88综合| 欧美电影在线观看完整版| 国产亚洲欧美色| 亚洲欧美资源在线| 99re热这里只有精品免费视频| 蜜月aⅴ免费一区二区三区| 国产一区二区三区在线观看视频| 亚洲免费中文| 一个人看的www久久| 欧美精品亚洲| 亚洲美女在线一区| 亚洲国产精品成人| 欧美成人免费va影院高清| 亚洲大片在线观看| 欧美aaa级| 免费av成人在线| 亚洲伦理精品| 日韩亚洲国产欧美| 国产精品美女www爽爽爽视频| 亚洲一区尤物| 一区二区精品| 国产精品另类一区| 欧美在线国产精品| 欧美一区中文字幕| 一区二区视频免费在线观看 | 一区二区三区高清| 亚洲视频导航| 国产婷婷精品| 免费成人高清在线视频| 欧美大片免费| 亚洲一区二区三区精品视频| 亚洲一区二区三区高清不卡| 国产日韩欧美一区二区三区在线观看 | 99精品国产福利在线观看免费 | 亚洲区一区二| 欧美日本中文字幕| 亚洲欧洲99久久| 欧美一区二区私人影院日本| 在线观看成人av电影| 亚洲激情在线观看视频免费| 欧美午夜精品久久久久久人妖| 亚洲欧美在线另类| 久久九九精品99国产精品| 亚洲日韩欧美视频一区| 午夜国产欧美理论在线播放| 麻豆乱码国产一区二区三区| 欧美激情 亚洲a∨综合| 亚洲免费网站| 久久精品最新地址| 中国女人久久久| 久久久777| 亚洲综合欧美| 毛片精品免费在线观看| 亚洲影院一区| 麻豆91精品| 欧美怡红院视频一区二区三区| 麻豆精品91| 午夜一级久久| 欧美极品aⅴ影院| 久久人人超碰| 国产精品区一区二区三| 欧美激情免费在线| 国产欧美精品日韩区二区麻豆天美| 欧美黄色免费| 精品av久久久久电影| 亚洲线精品一区二区三区八戒| 亚洲第一精品夜夜躁人人爽| 亚洲欧美激情精品一区二区| 中文无字幕一区二区三区| 老鸭窝毛片一区二区三区| 久久精品视频一| 国产精品日韩欧美一区| av成人激情| 在线视频欧美精品| 欧美成人精品1314www| 欧美.www| **欧美日韩vr在线| 久久久人成影片一区二区三区| 欧美一区二区在线免费观看| 欧美日韩三级一区二区| 亚洲国产老妈| 亚洲精品免费电影| 欧美大片一区二区| 亚洲激情成人| av成人免费观看| 欧美老女人xx| 日韩亚洲成人av在线| 一本久久青青| 欧美日韩无遮挡| 夜夜嗨av一区二区三区免费区| 一区二区国产在线观看| 欧美日韩精品久久| 一本色道久久综合精品竹菊| 亚洲亚洲精品三区日韩精品在线视频| 欧美另类极品videosbest最新版本| 欧美激情视频一区二区三区不卡| 在线播放视频一区| 久久在线免费观看| 亚洲人成人一区二区在线观看| 99re热精品| 国产精品久久久久久久久免费 | 免费看av成人| 91久久精品一区二区别| 欧美经典一区二区三区| 最新日韩精品| 亚洲综合色激情五月| 国产欧美亚洲精品| 久久资源av| 日韩一区二区福利| 久久成人免费| 欧美在线日韩精品| 亚洲精品在线电影| 欧美调教vk| 欧美在线一二三| 欧美国产日韩在线观看| 一区二区三区久久| 国产欧美日韩精品a在线观看| 久久九九国产精品| 亚洲精品一区二区三区99| 午夜免费在线观看精品视频| 在线播放中文字幕一区| 欧美日韩高清一区| 性做久久久久久久免费看| 欧美激情一区二区三区蜜桃视频| 一本大道久久a久久精品综合| 国产欧美日韩三区| 欧美国产日产韩国视频| 亚洲欧美激情四射在线日| 亚洲国产99精品国自产| 香港成人在线视频| 亚洲免费观看高清在线观看| 国产亚洲成年网址在线观看| 欧美激情久久久久| 久久精品国产第一区二区三区最新章节| 亚洲国产高清在线| 久久久久久一区| 亚洲一级电影| 亚洲精品美女| 精品动漫3d一区二区三区免费| 欧美视频你懂的| 欧美成人免费在线视频| 欧美在线观看视频一区二区| 日韩视频精品| 亚洲激情一区| 欧美69视频| 久久看片网站| 欧美一区日韩一区| 中文精品99久久国产香蕉| 亚洲国产精品久久久久婷婷884 | 蜜桃精品一区二区三区| 欧美在线视频二区| 亚洲欧美日韩网| 亚洲小视频在线观看|