工作達人(Job Da Ren)
服務是我架站的宗旨,全球華人及男女青年未來的工作方向

  • Home
  • About achi
    • My Disclosure Policy
  • Archives
    • Link Exchange
  • 隱私權政策
  • stock photos
  • Contact
  • Top Posts
  • Poll
  • wp-buzz
    • ㄚ琪的Live PR
  • Advertise
Job Da Ren > CompScience > Programming > Languages > C_and_CPP > Only Subscript Elements that Are Known to Exist!

 Powered by Max Banner Ads 
« Improper 404 Error Handling Fix For WordPress 2.5
新增我的網誌串連 »

Only Subscript Elements that Are Known to Exist!

Please wait 六月 27th, 2008 by ㄚ琪 | |2008/06/27

 Powered by Max Banner Ads 

C++ Primer 4/e 在Iterators這裡有一個警告:『It is crucially important to understand that we may use the subscript operator, (the [] operator), to fetch only elements that actually exist. For example,

     vector<int> ivec;      // empty vector
     cout << ivec[0];       // Error: ivec has no elements!

     vector<int> ivec2(10); // vector with 10 elements
     cout << ivec[10];      // Error: ivec has elements 0...9

 

Attempting to fetch an element that doesn’t exist is a run-time error. As with most such errors, there is no assurance that the implementation will detect it. The result of executing the program is uncertain. The effect of fetching a nonexisting element is undefinedwhat happens will vary by implementation, but the program will almost surely fail in some interesting way at run time.

This caution applies any time we use a subscript, such as when subscripting a string and, as we’ll see shortly, when subscripting a built-in array.

Attempting to subscript elements that do not exist is, unfortunately, an extremely common and pernicious programming error. So-called “buffer overflow” errors are the result of subscripting elements that don’t exist. Such bugs are the most common cause of security problems in PC and other applications.』

中文版的是這樣說:『我們只能以subscript運算子([])取出實際存在的元素。這一點十分重要。例如:

    vector<int> ivec;         // 空的 vector
    cout << ivec[0];           // 錯誤: ivec 裡沒有元素
  
  vector<int> ivec2(10); // vector 內含 10 個元素
     cout << ivec[10];        // 錯誤: ivec 的元素編號是0到9

擷取不存在的元素會造成執行期錯誤。編譯器並不保證能偵測出大部分此類錯誤。這個程式的執行結果無法確定,因為「擷取不存在元素」是一種不明確的行為,其結果視編譯器而不同,但幾乎可以確定會在執行期出現某種有趣的錯誤。

這個警告亦可套用於任何使用下標的時候,例如對string或(很快會看到)對內建的array取下標。

不幸的是,企圖以下標存取不存在的元素是極常見且致命的編程錯誤。所謂緩衝區上限溢位(buffer overflow)錯誤就是以下標存取不確定元素的結果。這種臭蟲是形成PC程式及其他應用程式安全問題的最常見原因。』

這個是很有用的警告,特別是從VB 微軟系列到C 系列的陣列使用常會弄錯元素是0開始或是1開始。

歷史上的今天

  • 2011: G’day!Facebook要靠社群音樂分享賺錢了!
  • 2011: 化學飲料OUT!夏日解渴最夯現釀復古風
  • 2010: 自賀工作達人部落格觀察前進到714名
  • 2007: 台灣第55大製造業-技嘉科技股份有限公司
  • 2007: 台灣第54大製造業-正新橡膠工業股份有限公司
  • 2007: 台灣第53大製造業-燁輝企業股份有限公司
  • 2007: 台灣第52大製造業-長春石油化學股份有限公司
  • 2007: 台灣第50大製造業-精成科技股份有限公司
Print Friendly
Be Sociable, Share!
  • Tweet

訂閱工作達人(Job Da Ren)


 Powered by Max Banner Ads 

隨機日誌

  • 我攝過的教堂 – 耶穌基督後期聖徒教會 高雄市中教堂
  • 下列關於實體關係模式(E-R model)中實體關係圖的敘述何者錯誤?
  • 肯德基最新優惠券:29元起!
  • PyGTK 參考文件手冊
  • GTK+ 2.0 教學-鳴謝
  • Halloween is coming! Try Fancy Halloween Costumes
  • 營養豐富十八穀,免浸免泡好烹煮


作者:ㄚ琪 | 本文分類:[C_and_CPP] | 留言 | 引用

透過Facebook發表迴響,不保證ㄚ琪可以知道你的留言:

發表迴響

點這裡取消回覆
名稱:(必)
電子郵件位址(並不會被公開)(必)
個人網站

You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

CAPTCHA 驗證圖片
更換一張圖片
*

廠商贊助

贊助廠商連結請點我

最新照片

P1111414 DSC_6312 page P4121408 P3070116 P3290297 P4121409 P3070135 P4251468
觀看更多的相片 >

熱門文章

  • GTK+ 2.0 教學 - 13,446 views
  • jQuery UI入門 - 7,623 views
  • 介紹NetBeans下的Android開發 - 6,967 views
  • 正確使用java array - 5,898 views
  • eclipse 3.4.1 中文 好好玩 - 5,124 views
  • 程式語言教學 – C、C++、OpenGL、STL - 4,233 views
  • GTK+ 2.0 教學-從這裡開始 - 3,648 views
  • jQuery UI 的 Demos展示及說明文件 - 3,562 views
  • Python 圖形使用者介面程式設計 - 2,813 views
  • 如何在手機裡安裝Java ME應用程式 - 2,602 views
  • Microsoft Visual C# 2010 Express更新 - 2,532 views
  • sudo apt-get install sun-java5-jdk - 2,332 views

隨便看看

  • I Am All For Compiling LibTIFF Where I Can
  • freetype 在VC9下一堆錯誤
  • When Not to Overload a Function Name
  • [轉貼]CHM格式解析
  • Name Lookup and Inheritance
  • 在Eclipse中寫C與C++程式
  • POJ.1011 Sticks
  • 標準 C++ 類別的成員函式 c_str()
  • Safe, Generic Programming
  • Initialized and Uninitialized Variables

懶得上網看文章!

就來訂閱我的電子報吧!

輸入你的電子郵件地址:

發送者為 FeedBurner

近期文章

  • 感興趣的xampp-win32-1.7.7
  • 與其給我邀請送禮物,倒不如幫工作達人按讚
  • 【夏日保養】小心辦公室冷氣,讓雙手提早變老!
  • 成人紙尿褲價格戰 苦了父母
  • Smart Life創意無痕壁貼
  • 不用出國的專業全美語兒童營隊
  • 試用BUGSLOCK純天然香茅防蚊手環(防蚊效果一級棒)
  • 多功能的除污達人
  • 五月連結Fun Taiwan送【DIANA】愛媽咪施華洛彩鑽項鍊
  • 網購熱銷缺貨!titan抗菌活力襪,抑菌除臭、護腳2合1

鳥鳴啾啾

    Follow Me on Twitter

    與我交誼!做我的粉絲!

    • technorati
    • Twitter

    其它

    • 登入
    • 文章 RSS 訂閱
    • 迴響 RSS 訂閱
    • WordPress.org

    快上www.blognews.com.tw,就有機會天天免費吃大餐!

    我的書摘

    RSS 科技新聞 – 頭條新聞 – Yahoo!奇摩新聞

    • 摩托行動侵權 部分手機遭禁 2012/05/19
    • 臉書掛牌上市 電腦出包 2012/05/19
    • 揭祕深海不明物體 專家:罕見水母! 2012/05/19
    • 大馬發明展 台灣學子溫馨奪金 2012/05/19
    • 亞洲市場成長趨緩 臉書新挑戰 2012/05/18
    • 蘋果亞馬遜相爭 面板雙虎得利 2012/05/18
    • 擁近10億用戶個資 將是獲利關鍵 2012/05/18
    • 小行星撞地球 中日菲會重創 2012/05/18
    • 小行星若撞地球 大陸先遭殃 2012/05/18
    • 英「條碼」小鎮 維基百科導遊 2012/05/18
    • 臉書濫用個資 人權組織要告 2012/05/18
    • 美報告:陸藉西方科技壯大軍力 2012/05/18
    • 點閱率低 臉書廣告效果惹議 2012/05/18
    • 英小鎮掃條碼 維基百科當導遊 2012/05/18
    • 玻璃構成的一天 影片解密未來世界 2012/05/18

    Blogroll

    • 628之巨蟹座的水世界
    • Blog語法研究室
    • Chip123創新論壇
    • Chungyuchen's Blog
    • Daphne's Fresh Look
    • Frank的雜記
    • Fun Taiwan
    • GOWEIS的好康分享記事簿
    • L K K 的心聲
    • LuckyDog 抽獎達人
    • Office 達人空間(章美蘭)
    • Potato的探索樂園
    • QK3000小遊戲
    • Russian Brides
    • Web Game @Live
    • yal's blog
    • 《心靈翅膀》發現不同的聲音
    • 『PDF』點滴夯發現
    • ㄚ晟的IT筆記
    • 企鵝碎碎唸
    • 傑尼斯部落
    • 免費訊息軟體下載
    • 免費軟體下載
    • 凱特打結該該叫
    • 台中蔣小姐
    • 台灣天氣網
    • 台灣排行榜 Rank.tw
    • 台灣部落格網站目錄
    • 嗡財財嚕嚕唆哈
    • 大紀元賀卡城
    • 好朋友二手家具
    • 小遊戲388
    • 小遊戲天堂
    • 小邱邱的測量放樣工程
    • 拆組達人
    • 敗家誌°
    • 時間不等於金錢
    • 月光下的嘆息!
    • 梅森手扎
    • 淘淘寶小遊戲天堂區
    • 玩物尚誌
    • 生活工場家
    • 白文MIMI與小鸚KIKI的生活記事
    • 紅色死神
    • 綠色工廠 Easylife Blog
    • 網路聯盟行銷中心
    • 美食美景紐西蘭美女的家
    • 蓉兒ㄉ天空
    • 遊戲世界
    • 遊戲阿布
    • 遨遊天地任我行
    • 野兔村
    • 阿文兄A日誌
    第五屆部落客百傑 第五屆部落客百傑 第五屆部落客百傑



    GetRank - Webmaster and Seo Tools
  • 分類表

    • Android (14)
    • ASP (3)
    • BU幣任務區 (6)
    • C# (17)
    • CentOS (4)
    • CGI (1)
    • CompScience (1)
    • C_and_CPP (111)
    • Database (5)
    • DB2 (4)
    • debian (2)
    • Featured (3)
    • In Search of Stupidity (6)
    • Information Architecture for the World Wide Web (11)
    • j2me (25)
    • java (98)
    • JavaScript (35)
    • JavaScript權威指南:ECMAScript5 + HTML5 DOM + HTML5 BOM 範例精粹 (2)
    • Languages (5)
    • lds (1)
    • Linux (6)
    • LinuxDev (179)
    • MSSQL (6)
    • MySQL (13)
    • NetSecurity (1)
    • Office (3)
    • Oracle (2)
    • Palm (1)
    • Peopleware: Productive Projects and Teams (35)
    • perl (16)
    • php應用 (64)
    • PostgreSQL (2)
    • Python (102)
    • Quality is Still Free (15)
    • ruby (1)
    • Solaris 系統 (1)
    • Sponsored Reviews (133)
    • Symbian (4)
    • System (1)
    • THE MYTHICAL MAN-MONTH (20)
    • The Peter Principle (14)
    • TinyERP (6)
    • ubuntu (37)
    • Uncategorized (4)
    • VBA (1)
    • VoIP (2)
    • Web Blog (130)
    • weberp (16)
    • Windows (5)
    • windows mobile (1)
    • Wordpress (34)
    • xml (6)
    • ㄚ琪走透透 (56)
    • 中壢社大河川踏查社 (1)
    • 人才庫 (4)
    • 企業ERP (1)
    • 免費好康 (61)
    • 公司簡介 (201)
    • 口碑貼文 (179)
    • 商品推銷 (11)
    • 就業資源 (8)
    • 工作大未來 (9)
    • 工作訓練 (1)
    • 廠商簡介 (1)
    • 我攝過的教堂 (6)
    • 我的論文 (2)
    • 掌握Google關鍵字:SEO搜尋秘技全攻略 (29)
    • 數位拍古蹟 (5)
    • 文章導讀 (141)
    • 求才訊息 (18)
    • 生活與社會 (3)
    • 發燒鑑貨文 (120)
    • 直到路的盡頭 (5)
    • 神社 (2)
    • 科技通訊 (8)
    • 笑話 (22)
    • 約耳趣談軟體 (44)
    • 組合語言 (14)
    • 網站報報 (36)
    • 網站評論 (371)
    • 網路賺錢 (46)
    • 美味食記 (78)
    • 翻譯 (65)
    • 職業達人 (1)
    • 自然與科學 (2)
    • 藝術與表演 (1)
    • 觀察力培養 (1)
    • 設計模式之禪 (1)
    • 貼貼樂 (180)
    • 資料處理 (17)
    • 軟體報報 (52)
    • 閒聊 (253)
  • 最新的回應

    • 小倆口東京自由行-Day 2一日乘車券 | 工作達人(Job Da Ren) 在 小倆口東京自由行-Day 2明治神宮
    • Washer Parts - Our site provides essential information on ge appliance parts - Ge Appliance Parts 在 Whirlpool Appliance Parts
    • ㄚ琪 在 四月連結Fun Taiwan送好市特超大附門掛衣架組
    • MESON 在 四月連結Fun Taiwan送好市特超大附門掛衣架組
    • GP 超霸充電池高電力鎳氫(NiMH)電池第十五次使用 | 工作達人(Job Da Ren) 在 GP 超霸充電池高電力鎳氫(NiMH)電池試用
    • ㄚ琪 在 webERP : WebERP 4.03.5 推出

    請幫工作達人按讚

    • Copyright c 2005 - 2009 工作達人(Job Da Ren) and is proudly powered by WordPress
    • Entries (RSS)
    • Comments (RSS)
    • Home
    • About achi
    • Archives
    • 隱私權政策
    • stock photos
    • Contact
    • Top Posts
    • Poll
    • wp-buzz
    • Advertise
    ss_blog_claim=fec8047405cd9a7a8d8d623b47b39edf
    Creative Commons Attribution-NonCommercial-ShareAlike 2.5 台灣
    This work by ㄚ琪 is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 2.5 台灣.

    无觅相关文章插件,快速提升流量