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

yutou's blog

請不要做浮躁的人,請熱愛C++。
posts - 14, comments - 1, trackbacks - 0, articles - 0
  C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

2008年4月20日

du8.com的書..很不錯..但是要VIP,,,又是VIP

http://pic.du8.com/onlineimg/31/bp/sep/2003/31bp.0001.png

這本書的地址是從這里開始的,,,0002 0003 …0100…N

posted @ 2008-04-20 17:52 yutou 閱讀(248) | 評論 (0)編輯 收藏

2008年4月10日

很好的一個小冊子,不大不小,卻是一個學習的好幫手.放此收藏.

感謝LXH2002的收集整理.              ;-)

posted @ 2008-04-10 22:55 yutou 閱讀(399) | 評論 (1)編輯 收藏

2008年4月7日

int i = 0;
int *= &i ,*pk;

pk 
= p;
delete pk;  
//錯誤
//不能delete一個不是new分配的空間

int i = 0;

new *= &i;
new *pk = p;

delete p;  
//正確
//p與pk指向同一個內存區域,而這個內存區域是由new產生

posted @ 2008-04-07 17:24 yutou 閱讀(252) | 評論 (0)編輯 收藏

在if else if 使用中出現的一點問題,編譯器報出“在return的前面缺少 ';' ”

int compare( int shu_size ,const vector <int> &_vec )
{
  
int vec_size = int(_vec.size());

  
if( shu_size == vec_size ) return shu_size;
  
else if( shu_size < vec_size )  return shu_size;
  
else ( shu_size > vec_size )  return vec_size;
}


//更改后通過編譯的代碼
int compare( int shu_size ,const vector <int> &_vec )
{
    
int vec_size = int(_vec.size());
    
if( shu_size == vec_size ) vec_size = shu_size;
    
return vec_size;
}

posted @ 2008-04-07 17:06 yutou 閱讀(228) | 評論 (0)編輯 收藏

code:

//出現error C2440
bool is_equal( const vector <int> &ivec )  //vector對象的常引用
{
     
for( vector <int>::iterator it = ivec.begin() ;it != ivec.end() ;++it )  //這里使用的是iterator
       {
            ……
        }

}



 

//正確的使用方法
bool is_equal( const vector <int> &ivec )  //vector對象的常引用
{
     
for( vector <int>::const_iterator it = ivec.begin() ;it != ivec.end() ;++it )  //這里使用的是const_iterator
       {
            ……
        }

}



ps:標準庫相當復雜!

posted @ 2008-04-07 16:58 yutou 閱讀(421) | 評論 (0)編輯 收藏

2008年4月6日

信息來源:http://blog.21ic.com/user1/2949/archives/2007/35599.html

一個定義為volatile的變量是說這變量可能會被意想不到地改變,這樣,編譯器就不會去假設這個變量的值了。精確地說就是,優化器在用到這個變量時必須每次都小心地重新讀取這個變量的值,而不是使用保存在寄存器里的備份。下面是volatile變量的幾個例子:
    1). 并行設備的硬件寄存器(如:狀態寄存器)
    2). 一個中斷服務子程序中會訪問到的非自動變量(Non-automatic variables)
    3). 多線程應用中被幾個任務共享的變量
    回答不出這個問題的人是不會被雇傭的。我認為這是區分C程序員和嵌入式系統程序員的最基本的問題。嵌入式系統程序員經常同硬件、中斷、RTOS等等打交道,所用這些都要求volatile變量。不懂得volatile內容將會帶來災難。
    假設被面試者正確地回答了這是問題(嗯,懷疑這否會是這樣),我將稍微深究一下,看一下這家伙是不是直正懂得volatile完全的重要性。
    1). 一個參數既可以是const還可以是volatile嗎?解釋為什么。
    2). 一個指針可以是volatile 嗎?解釋為什么。
    3). 下面的函數有什么錯誤:
         int square(volatile int *ptr)
         {
              return *ptr * *ptr;
         }
    下面是答案:
    1). 是的。一個例子是只讀的狀態寄存器。它是volatile因為它可能被意想不到地改變。它是const因為程序不應該試圖去修改它。
    2). 是的。盡管這并不很常見。一個例子是當一個中服務子程序修該一個指向一個buffer的指針時。
    3). 這段代碼的有個惡作劇。這段代碼的目的是用來返指針*ptr指向值的平方,但是,由于*ptr指向一個volatile型參數,編譯器將產生類似下面的代碼:
    int square(volatile int *ptr) 
    {
         int a,b;
         a = *ptr;
         b = *ptr;
         return a * b;
     }
    由于*ptr的值可能被意想不到地該變,因此a和b可能是不同的。結果,這段代碼可能返不是你所期望的平方值!正確的代碼如下:
     long square(volatile int *ptr) 
     {
            int a;
            a = *ptr;
            return a * a;
     }

posted @ 2008-04-06 17:29 yutou 閱讀(276) | 評論 (0)編輯 收藏

2008年3月10日

By SmartPtr(http://m.shnenglu.com/SmartPtr/)

這幾天工作時碰到一個C++的編譯錯誤(我使用的是Visual C++ 7.0),說是有一個類重復定義,仔細想想我們的這個項目也是做了好幾個Release了, 內部代碼應該不會有這樣的低級錯誤, 真把類型給重復定義了,檢查結果正如我預料的一樣。 就這樣, 我左右沒找到原因,被一個編譯錯誤給卡在那里了。(在我的概念中, 程序錯誤的等級為:編譯錯誤->鏈接錯誤->邏輯錯誤, 此錯誤屬于最低級 )。這時我仔細看了一下錯誤提示, 發現重復定義是由于從兩個不同的路徑包含了同一個頭文件而引起的,同事也建議從另外一個路徑打開工程試試, 這才慢慢發現了原因。這個原因可能有些拗口,而事實上要出現這種錯誤也有些曲折, 讓我從不同情況下的類型重定義來解釋一下吧。

我總結的C++中類型重定義情況有三。

1 沒有在文件頭加#pragma once指示符。

Type1.h:  #pragma once的作用是保證本文件只被編譯一次,如果沒有在Type1.h中加這句話那么在main.cpp里面包含了兩次Type1.h, 就相當于在main.cpp里面定義了兩次Type類, 自然就是類型重定義了。

//#pragma once
class Type
{
}
;

Main.cpp:
#include "Type1.h"
#include 
"Type1.h"
int main(int argc, char *argv[])
{
   
return 1;
}

2 兩個不同的頭文件中定義了相同的類型(均有#pragma once

Type1.h:Type2.h:Main.cpp:

#pragma once
class Type
{

}
;


#pragma once
class Type
{     

}
;


這里main.cpp中同時包含了Type1.h, Type2.h兩個頭文件, 雖然其文件頭都有#pragma once,但因為是不同的文件, 預編譯器還是會兩次把Type類的定義放在Main.cpp中, 所以也會出現了重定義。

#include "Type1.h"
#include 
"Type2.h"
int main(int argc, char *argv[])
{
   
return 1;
}


3 從兩個不同的路徑包含了同一個頭文件

  前面兩種是比較常見, 也是比較容易解決的情況, 而這里要講的第三種情況, 比較少見, 而且一般出現在有虛擬映射盤的時候。(這樣才能做到從兩個不同的路徑包含同一個頭文件), 其他會在什么時候出現, 我還沒想到, 知道的朋友頂一下:)。下面我來分析一下:
1 VC工程在D:\Test目錄下。
2 映射虛擬盤XD:\Test.
不熟悉的網友可以按此操作: 開始->運行->在運行窗口輸入:cmd->cmd窗口輸入:
Subst X: D:\Test->回車。
3 該工程有文件Type1.h, main.cpp

Type1.h:

#pragma once
class Type
{

}
;

Main.cpp:

main.cpp這樣包含了兩個頭文件, 從本質上來講, 它們都對應于物理盤D:\Test下的文件Type1.h, 是同一個文件。但在不同的操作下, VC對其有不同的解釋。#include "X:\Type1.h"用的是絕對路徑, 自然沒有什么異議, #include "Type1.h"卻有些變化:
*假如我從D:\Test\下打開工程, 那么#include "Type1.h"其實就是#include "D:\Test\Type1.h"
*假如從X:\下打開工程,那么#include "Type1.h"就解釋為#include "X:\Type1.h"

#include "Type1.h"
#include 
"X:Type1.h"
int main(int argc, char *argv[])
{
   
return 1;
}

這里我們在

4 D:\Test下打開工程, 編譯, 出現類型Type重復定義錯誤

這種情況下,main.cpp預編譯為:

Main.cpp:

只保證本文件被編譯一次, 這里VC將其認為是兩個不同的文件, 所以都要編譯, 出現編譯錯誤自然也就不奇怪了。
   
當然, 這里如果從X:\ 下打開工程的話,VC就會認為都是從X:\Type1.h下包含這個文件,#pragma once起到了作用, 也就不會出現類型重定義了

#include "D:TestType1.h"
#include 
"X:Type1.h"
int main(int argc, char *argv[])
{
   
return 1;
}

 

#pragma once

總結

我在VC7, VC8,Dev C++中都測試了第三種情況, 發現只有Dev C++是可以通過編譯的。這可能是微軟VC#pragma once還不夠智能吧,輕易的被Windows的虛擬盤給蒙蔽了雙眼, 看不到其本質(只是猜測, 或許VC這么處理是有其他用意的)。

因為在稍大一點的工程開發中, 我們一般都會用虛擬盤來方便工作, 一是訪問快捷,簡化了路徑, 二是因為多人協同開發,我們一般希望大家源代碼路徑相同,但我們不應強制要求大家都把源代碼放死在某一目錄下, 這時把你放源代碼的路徑映射為一個虛擬盤(比如說統一為X:)就能把大家的代碼路徑統一起來了。但是另一方面,有了虛擬盤, 就為出現類型重定義提供了條件, 以下是我得出的兩個解決方法:

1
拋棄#pragma once使用古老但集穩定性與移植性于一身的

來保證頭文件只被編譯一次。這樣不管是包含兩個相同的文件,還是包含兩個不同的文件,或是包兩個文件相同但路徑不同的文件, 只要_XXX_H被定義過, 就不會再編譯那個編譯(但這里我們要保證_XXX_H的唯一性, 如果兩個不同的頭文件里用了同一_XXX_H,是會出問題的)

 

#ifndef _XXX_H
#define _XXX_H


#endif

2 在包含頭文件時,不要使用絕對路徑, 哪怕那是虛擬盤的絕對路徑。

posted @ 2008-03-10 16:32 yutou 閱讀(495) | 評論 (0)編輯 收藏

yutou

2008年3月10日

如圖:    需求分析 => 可行性分析 => 實施具體方案 => 維護與支持

posted @ 2008-03-10 00:11 yutou 閱讀(186) | 評論 (0)編輯 收藏

2008年3月9日

用可行性研究論證您的項目

 

Scott W. Ambler
總裁,Ronin International
2000
8 24
本文來自 http://www.ibm.com/developerworks/tw/library/tip-justify/



               在任何項目的開始階段,項目組都要為項目的總體工作做一些準備工作。在 Rational Unified ProcessRUP)和面向對象的軟件過程(OOSP)中,這個階段稱為啟動階段。本周,我們考慮如何確定一個項目是否值得啟動。本文由《Process Patterns》的第五章改編而來。

               啟動項目的一個重要環節就是對項目進行論證;也就是說,確定是否應該立項。遺憾的是,論證經常是完成得最差的一項任務。85% 以上的大型項目以失敗告終(請參閱參考資源中的《Patterns of Software Systems Failure and Success》一書),這一事實表明大多數項目在論證階段就應該中止,而不是在為其作了大量投資(并造成損失)之后。論證階段的主要目標是,確定項目的最佳實施方案,如果存在這樣的方案,還要論證它為什么是最佳的。

               圖1描繪了針對論證階段的過程模型的解決方案。論證項目時需要完成幾項工作,論證項目的主要結果便是可行性研究。為了進行可行性研究,您將重復下列步驟:

           · 確定可選的實施方案

           · 評估每項可選方案的經濟可行性

           · 評估每項可選方案的技術可行性

           · 評估每項可選方案的運行可行性

           · 選擇一項可選方案

           · 確定潛在的風險

 

1. 論證階段的過程模型


 

 

確定可選的實施方案


可行性研究的第一階段是確定項目潛在的可選實施方案。與流行的觀點正好相反,實現應用時總有多種選擇,包括什么都不做、使用多種技術實現它、購買一種類似的系統或者將開發工作外包。重要的是,為您的項目確定幾個可行的可選實施方案,以便您進行評估和比較,從而最終為自己的公司選擇最佳的實施方案。

評估經濟可行性
在評估一項可選實施方案的經濟可行性時,要回答的基本問題是,該應用何時能收回成本?您可以通過進行成本/收益分析來回答這個問題。顧名思義,成本/收益分析就是將應用的全部實際成本與其全部實際財務收益相比較。在《The Squandered Computer》一書中(請參閱參考資源),Strassmann 指出,應該根據可選方案對凈現金流量即收益超過成本的總金額的貢獻來評價各個方案,因為所有投資的首要目標就是提高公司的整體業績。

評估技術可行性
除了經濟可行性之外,您還必須確定每項可選實施方案的技術可行性。此時需要回答的基本問題是,是否能夠創建該應用?首先,您必須調研該項目要使用的各項技術。技術方面的問題在于,每項技術在行銷演示中都能完美地完成工作,而一旦將它購買回來,往往又是另一種情況。因此,您應該鑒定每一種可供選擇的技術。請注意,為了進行合理的評估,您可能需要實現一個微型項目,并且創建一個概念驗證 (proof-of-concept) 原型來檢驗這些技術是否能協同工作。這是 RUP 的描述階段的基本任務,它可能持續幾周或者幾個月,但是只有在檢驗出您選擇的技術能否協同工作時才會體現出它的價值。

評估運行可行性
一個應用不應該在經濟和技術上行得通,它還必須在運行上行得通。此時要回答的問題的,應用一旦成為產品,是否能夠對該應用提供維護和支持?創建一個應用與運行一個應用完全是兩碼事;因此,您必須確定是否能夠有效地運行和支持它。

選擇一項可選方案
一旦完成對每項可選實施方案的經濟、技術和運行可行性評估,就應該從中選擇一種實施方案。請記住可行性研究的目標是,比較和對比各項可選實施方案,提出一個最佳的實施方案。執行該項任務的第一步是,排除任何在經濟上、技術上或者運行上不可行的方案。這意味著您可能沒有剩下任何可選方案。但是什么都不做可能也是不可行的,它意味著您必須從頭再來,鑒定更多的可選方案。如果只剩下一個可選方案,則很容易做出決策;如果最后剩下多個可選方案,則必須選擇一個最適合您的公司的實施方案。您還可以只確定可行的可選方案,而將決策權留給上級主管部門。

確定潛在的風險
項目論證工作包括定義潛在的風險,特別是那些與項目的技術和運行可行性相關的潛在風險。關鍵的一點是應該將它們加入您的風險評估文檔,以便在項目實施過程中能夠妥善處理它們,這也是今后的技巧要討論的主題。

參考資源
關于過程模型和 Rational Unified Process 的詳細信息,請參閱:

· Process Patterns — Building Large-Scale Systems Using Object Technology,Scott W. Ambler 著。Cambridge University 出版社,紐約,1998 年。

· More Process Patterns — Delivering Large-Scale Systems Using Object TechnologyScott W. Ambler 著。Cambridge University 出版社,紐約,1999 年。

· The Object Primer 2nd Edition,Scott W. Ambler 著。Cambridge University 出版社,紐約,2000 年。

· The Unified Process Inception Phase,Scott W. Ambler Larry L. Constantine 著。R&D Books,CA,Gilroy,2000 年。

· The Unified Process Elaboration Phase,Scott W. Ambler Larry L. Constantine 著。R&D Books,CA,Gilroy,2000 年。

· Patterns of Software Systems Failure and Success,Capers Jones 著。International Thomson Computer 出版社,MABoston,1996 年。

· The Rational Unified Process: An Introduction》,第二版,Philippe Kruchten 著。Reading, MA: Addison-Wesley Longman, Inc.,MA,Reading2000 年。

· The Squandered Computer: Evaluating the Business Alignment of Information Technologies,Paul Strassmann 著。New CanaanCTInformation Economics 出版社,CT,New Canaan,1997 年。

· The Process Patterns Resource PageScott Ambler

· Scott Ambler 的在線文章


/*  &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&  */
1. 論證階段的過程模型(譯)

方案文檔,                                                                                                                           可行性研究,
版本,                                                  評估運行可行性   風險評估                                建議,
方案評估,    => 論證執行方案 =>                                       =>  選擇一種方案 =>   項目資金,
進度表,                                              評估經濟可行性   評估技術可行性                   確定潛在風險
風險估計

posted @ 2008-03-09 23:45 yutou 閱讀(3186) | 評論 (0)編輯 收藏

2008年3月4日

“我近三十年來一直在學習馬克思主義哲學,并總是試圖用馬克思主義哲學指導我的工作。馬克思主義是智慧的源泉。”      --錢學森在給一位朋友的信中這樣說道

馬克思主義哲學對一個人的思想有著革命性的意義.

blog之,提醒自己不要忽視哲學,并且鞭策自己要堅持學習!

posted @ 2008-03-04 13:30 yutou 閱讀(216) | 評論 (0)編輯 收藏

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲大黄网站| 久久精品一区二区三区四区| 亚洲欧美激情一区| 亚洲乱码国产乱码精品精天堂| 欧美有码在线观看视频| 欧美怡红院视频一区二区三区| 欧美伊久线香蕉线新在线| 国产亚洲精品久久久| 欧美日韩在线一区二区三区| 欧美片网站免费| 国产精品va在线播放| 国产精品久久久久久影院8一贰佰 国产精品久久久久久影视 | 国产精品青草久久| 欧美刺激午夜性久久久久久久| 久久精品国产亚洲一区二区| 久久精品国产亚洲a| 久久亚洲综合网| 欧美日韩成人| 国产欧美一区二区白浆黑人| 激情综合自拍| 亚洲欧美视频一区二区三区| 久久久久久尹人网香蕉| 牛夜精品久久久久久久99黑人| 欧美激情视频一区二区三区不卡| 亚洲欧洲一区二区三区| 国产欧美一区二区三区久久| 黄色日韩网站视频| 一区电影在线观看| 国产精品乱人伦中文| 激情视频一区| 亚洲欧美在线免费观看| 欧美ab在线视频| 欧美伊人久久| 国产精品视频久久久| 亚洲国产精品成人| 国产欧美va欧美va香蕉在| 亚洲精品国产精品国自产观看浪潮 | 久久久午夜精品| 国产精品亚洲а∨天堂免在线| 久久久久99精品国产片| 欧美日本韩国一区二区三区| 伊甸园精品99久久久久久| 亚洲欧美日韩成人高清在线一区| 亚洲国产高清在线| 久久嫩草精品久久久久| 国产性天天综合网| 久久久久久有精品国产| 亚洲视频免费在线| 国产精品久久久久毛片大屁完整版| 一区二区三区导航| 亚洲一区亚洲二区| 91久久精品国产| 老司机精品福利视频| 午夜精品久久久久久99热| 欧美视频不卡中文| 香蕉av777xxx色综合一区| 亚洲午夜女主播在线直播| 国产精品久久久久久久久动漫 | 最新国产の精品合集bt伙计| 欧美v国产在线一区二区三区| 欧美1区视频| 加勒比av一区二区| 国内精品视频在线观看| 国产啪精品视频| 老司机成人网| 正在播放亚洲一区| 国产精品入口麻豆原神| 欧美高清不卡在线| 国产视频精品免费播放| 欧美www视频| 国产情人节一区| 欧美sm极限捆绑bd| 国产女主播在线一区二区| 亚洲第一毛片| 91久久综合亚洲鲁鲁五月天| 先锋影音久久| 久久久人成影片一区二区三区| 国产精品美女xx| 亚洲一区视频在线观看视频| 亚洲一区自拍| 国产欧美日韩亚洲精品| 亚洲制服丝袜在线| 久久综合99re88久久爱| 精品成人一区| 欧美国产日本韩| 亚洲视频狠狠| 麻豆91精品| 在线一区二区日韩| 亚洲日本成人网| 欧美一区二区黄色| 亚洲精品久久久久久久久久久| 99精品热6080yy久久 | 久久精品国产亚洲精品| 欧美日韩色一区| 亚洲一二区在线| 亚洲视频在线观看一区| 国产婷婷色一区二区三区| 久久综合免费视频影院| 亚洲一区在线观看免费观看电影高清| 国产精品免费观看在线| 翔田千里一区二区| 亚洲毛片一区| 欧美四级伦理在线| 蜜臀久久99精品久久久画质超高清| 国产精品久久久久久久久久三级| 欧美一区二区在线视频| 欧美日本一道本| 亚洲专区免费| 久久精品123| 日韩视频一区| 国产精品免费观看视频| 蜜桃av一区二区三区| 亚洲视频在线二区| 欧美专区日韩视频| 在线观看日韩| 国产精品一区2区| 国产精品久久久久久模特| 久久精品国内一区二区三区| 久久久久久久久久码影片| 亚洲国产婷婷香蕉久久久久久99 | 亚洲国产精品成人久久综合一区| 亚洲欧美日韩国产一区二区| 一本色道久久88精品综合| 影音欧美亚洲| 国产精品色在线| 你懂的国产精品| 久久久久久网址| 久久综合福利| 欧美在线免费| 亚洲电影av在线| 国产精品video| 欧美日韩一区二区视频在线观看 | 亚洲精品乱码久久久久久蜜桃麻豆| 激情久久影院| 亚洲激情第一区| 亚洲日本一区二区| 加勒比av一区二区| 亚洲精品系列| 亚洲欧美日韩国产成人| 久久久久久高潮国产精品视| 亚洲免费视频在线观看| 欧美一区二区啪啪| 美玉足脚交一区二区三区图片| 亚洲国产成人tv| 午夜精品999| 久久精品一区二区国产| 久久久久国产精品一区| 欧美午夜a级限制福利片| 亚洲福利免费| 欧美1区3d| 亚洲黄色在线视频| 一区二区三区四区精品| 欧美国产综合视频| 国产视频欧美| 欧美亚洲日本一区| 亚洲欧美日韩国产精品| 理论片一区二区在线| 欧美三日本三级三级在线播放| 在线不卡亚洲| 欧美国产第二页| 久久久www免费人成黑人精品 | 99精品热6080yy久久| 亚洲欧美日韩国产综合| 欧美.com| 久久久久国产精品一区三寸| 亚洲天天影视| 欧美午夜精品久久久久久久| 亚洲高清视频在线| 亚洲国产网站| 欧美日韩国产一区精品一区| 国产综合久久久久影院| 尤物yw午夜国产精品视频明星| 久久野战av| 欧美高清一区| 亚洲啪啪91| 欧美人成在线视频| 日韩一区二区免费看| 午夜电影亚洲| 亚洲国产一区二区三区高清 | 亚洲国产一区在线观看| 免费一区视频| 亚洲国产一二三| 日韩一级网站| 国产偷国产偷精品高清尤物| 免费在线成人av| 国产精品成人免费视频 | 欧美成人免费网站| 欧美顶级大胆免费视频| 妖精视频成人观看www| 久久精品国产一区二区三区| 国产精品一区一区| 欧美ed2k| 黄色在线一区| 亚洲一区二区三区中文字幕在线 | 亚洲一区精品在线| 激情六月婷婷综合| 亚洲欧美日韩国产中文在线| 亚洲经典视频在线观看| 欧美成人黑人xx视频免费观看| 亚洲视频一区在线观看|