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

posts - 18,  comments - 104,  trackbacks - 0

 

最近最大的新聞莫過于微軟發布Visual Studio2010了,對c++的支持更進一步,其intellsence的解析也使用了和以前完全不同的方法(以前是靠編譯器,現在是獨立inellsence單元),番茄可能要被打入冷宮了。

Stephan T. Lavavej在Visual c++ Team Blog上發布了VC10對C++0x標準的支持情況,包括:
lambdas, auto, static_assert and rvalue references,他的博客是針對CTP版本的。

我下載安裝了VC10 beta1 professional,感覺除了卡,沒啥不好的,新的intellsence和Java,C#一樣,即時分析代碼,并在有語法錯誤的地方畫上紅線。但是好像intellsence的語法不支持C++0x的,在右值引用,Lambda的地方,也畫紅線。


對于Stephan T. Lavavej寫的

Rvalue References: C++0x Features in VC10, Part 2

我并沒有打算全部翻譯,有興趣可以讀原文,我只把我認為重要的地方翻譯出來,順序也調整了一下,水平有限,附上原文。

C++03 3.10/1 says: "Every expression is either an lvalue or an rvalue."  It's important to remember that lvalueness versus rvalueness is a property of expressions, not of objects.
C++03 3.10/1 提到:"任何一個表達式,不是左值,就是右值",左值或者右值是針對表達式而言的,object沒有左右值之分,應該時刻謹記這一點。

Both lvalues and rvalues can be either modifiable (non-const) or non-modifiable (const).  Here are examples:

 左值和右值都有const 和非const之分,下面是一個例子:

 1string one("cute");
 2
 3const string two("fluffy");
 4
 5string three() return "kittens"; }
 6
 7const string four() return "are an essential part of a healthy diet"; }
 8
 9 
10
11one;     // modifiable lvalue
12
13two;     // const lvalue
14
15three(); // modifiable rvalue
16
17four();  // const rvalue
18

Type& binds to modifiable lvalues (and can be used to observe and mutate them). 

Type& 只能綁定非const左值(可以觀察和修改)。

const Type& binds to everything: modifiable lvalues, const lvalues, modifiable rvalues, and const rvalues (and can be used to observe them).

const Type& 可以綁定所有類型:非const左值,const左值,非const右值和const右值(只可以觀察)。

上面這些都是03的標準,然而這對move語義和完美轉發的實習,確實是一種障礙。關于move語義和完美轉發,請看《C++0x漫談》系列之:右值引用 或“move語意與完美轉發”(上)《C++0x漫談》系列之:右值引用 或“move語意與完美轉發”(下)

move語義就是怎么能在非const右值銷毀之前,將其中仍有用的資源竊取過來,以求高效。這就需要語言本身能識別非const右值,03中,語言本身不支持,只能靠入侵的方式實現。0x中,在語言層面上得到了支持,用&&表示非const右值。下面看看0x為了支持右值,進行了那些修正。

下面是關于函數左右值的重載決議:
1 .  The initialization rules have veto power.

初始化規則具有否決權(否決權指對所有候選函數,如果有參數根本不能轉化,就放棄考慮,比如把一個const type轉化為type)。

2 .  Lvalues strongly prefer binding to lvalue references, and rvalues strongly prefer binding to rvalue references.

左值優先綁定左值,右值優先綁定右值。

3 .  Modifiable expressions weakly prefer binding to modifiable references.

非const表達式趨向于綁定非const引用。

正常情況下:
 1#include <iostream>
 2
 3#include <ostream>
 4
 5#include <string>
 6
 7using namespace std;
 8
 9 
10
11void meow(string& s) {
12
13    cout << "meow(string&): " << s << endl;
14
15}

16
17 
18
19void meow(const string& s) {
20
21    cout << "meow(const string&): " << s << endl;
22
23}

24
25 
26
27void meow(string&& s) {
28
29    cout << "meow(string&&): " << s << endl;
30
31}

32
33 
34
35void meow(const string&& s) {
36
37    cout << "meow(const string&&): " << s << endl;
38
39}

40
41 
42
43string strange() {
44
45    return "strange()";
46
47}

48
49 
50
51const string charm() {
52
53    return "charm()";
54
55}

56
57 
58
59int main() {
60
61    string up("up");
62
63    const string down("down");
64
65 
66
67    meow(up);
68
69    meow(down);
70
71    meow(strange());
72
73    meow(charm());
74
75}

76
77 
78
79C:\Temp>cl /EHsc /nologo /W4 four_overloads.cpp
80
81four_overloads.cpp
82
83 
84//output
85
86meow(string&): up
87
88meow(const string&): down
89
90meow(string&&): strange()
91
92meow(const string&&): charm()
93
94

In practice, overloading on Type& , const Type& , Type&& , and const Type&& is not very useful.  A far more interesting overload set is const Type& and Type&& :

在實踐中,重載所有的4個版本沒有意義,而我們更傾向于使用const string& 和string&&:
例子:
 1C:\Temp>type two_overloads.cpp
 2
 3#include <iostream>
 4
 5#include <ostream>
 6
 7#include <string>
 8
 9using namespace std;
10
11 
12
13void purr(const string& s) {
14
15    cout << "purr(const string&): " << s << endl;
16
17}

18
19 
20
21void purr(string&& s) {
22
23    cout << "purr(string&&): " << s << endl;
24
25}

26
27 
28
29string strange() {
30
31    return "strange()";
32
33}

34
35 
36
37const string charm() {
38
39    return "charm()";
40
41}

42
43 
44
45int main() {
46
47    string up("up");
48
49    const string down("down");
50
51 
52
53    purr(up);
54
55    purr(down);
56
57    purr(strange());
58
59    purr(charm());
60
61}

62
63 
64
65C:\Temp>cl /EHsc /nologo /W4 two_overloads.cpp
66
67two_overloads.cpp
68
69 
70
71// output
72
73purr(const string&): up
74
75purr(const string&): down
76
77purr(string&&): strange()
78
79purr(const string&): charm()
80
81


For purr(up) , the initialization rules veto neither purr(const string&) nor purr(string&&) .  up is an lvalue, so it strongly prefers binding to the lvalue reference purr(const string&) .  up is modifiable, so it weakly prefers binding to the modifiable reference purr(string&&) .  The strongly preferred purr(const string&) wins.

對于 purr(up) ,決議(1)沒有否決 purr(const string&) 和 purr(string&&) ,up是左值,所以依照決議(2),它優先綁定左值purr(const string&) ,依照決議(3),它趨向于綁定非const右值 purr(string&&) ,所以左值勝出:purr(const string&) 。

For purr(down) , the initialization rules veto purr(string&&) due to const correctness, so purr(const string&) wins by default.

對于For purr(down),決議(1)以為const否決了 purr(string&&) ,所以選擇purr(const string&)。

For purr(strange()) , the initialization rules veto neither purr(const string&) nor purr(string&&) .  strange() is an rvalue, so it strongly prefers binding to the rvalue reference purr(string&&) .  strange() is modifiable, so it weakly prefers binding to the modifiable reference purr(string&&) .  The doubly preferred purr(string&&) wins.

 對于purr(strange()),決議(1)都沒有否決,strange() 是右值,所以依照決議(2),優先綁定右值purr(string&&),依照決議(3),strange() 是非const,趨向于綁定非const,所以purr(string&&) 兩票獲勝。

For purr(charm()) , the initialization rules veto purr(string&&) due to const correctness, so purr(const string&) wins by default.

對于purr(charm()), 初始化決議(1)否決了非const的purr(string&&) ,所以選擇purr(const string&) 。

先寫這么多吧,明天再寫。
posted on 2009-05-27 23:17 尹東斐 閱讀(1858) 評論(3)  編輯 收藏 引用

FeedBack:
# re: Rvalue References: C++0x Features in VC10 (一)
2009-05-28 09:03 | 飄飄白云
我正在譯言上翻譯Stephan T. Lavavej這一系列的三篇文章,不過剛開始翻譯第一篇,哈哈,你已經翻第二篇了,到時候借鑒了~~  回復  更多評論
  
# re: Rvalue References: C++0x Features in VC10 (一)
2009-05-28 16:37 | 尹東斐
@飄飄白云

我只是覺得這個rvalue reference是最重要的特性,可以不知不覺的增加效率,所以就決定寫點什么。  回復  更多評論
  
# re: Rvalue References: C++0x Features in VC10 (一)[未登錄]
2009-05-28 17:18 | king
高薪招聘:手機游戲開發等各類手機行業人才
職位描述: 手機游戲開發高級工程師
要求:
1.大專以上學歷,做手機游戲開發至少三年以上。
2.熟悉J2ME和C++等工作專業知識

招聘:手機軟件經理/資深工程師
職位描述:
1. 至少三年以上手機制造企業或相關企業專職開發工作經驗,熟悉下列手機開發平臺一種或多種:MTK,展訊,英飛凌,coolsand平臺,google的android或其他開發平臺
2. 熟悉 c/c++,對 java 有一定了解
3. 熟悉 MFC ,能夠熟練使用 VC ,懂e-VC
4. 熟悉TCP/IP、HTTP,了解各種互聯網應用(如browser,email,IM);

手機銷售總監及經理(海外市場)
工作職責:
1.銷售體系完善,銷售策略優化。 2.銷售團隊管理,提升銷售業績。
具體要求如下:
1.五年以上手機海外銷售相關經驗,銷售區域最好在東南亞,中東,非洲地區或其他發展中國家。
2.三年以上高級銷售經理或總監管理經驗
3. 英語流利溝通,或會法語或日語或其他外語的優先。

手機銷售總監及經理(國內市場):
1.熟悉國內手機市場,銷售模式及分銷渠道
2.有一定的客戶資源及代理商、分銷售商資源
3.有銷售戰略意識,優秀的戰術管理能力及團隊領導能力

射頻方向(6人 RF/RFID)
1 本科以上學歷,電子或通信專業;
2 熟悉MSP430單片機,能獨立負責項目研發工作;
3 熟悉和精通 cc1100 cc2500 cc1101等TI CHIPCON產品優先;
4 熟悉精通無線傳感器網絡,低速率低功耗無線個域網;
5 熟練精通C/C++程序設計,有多年軟件開發經驗者優先;
6 熟悉有源RFID,無源RFID者優先;
7 有豐富射頻開發經驗者優先考慮。

職位要求: 射頻方向(6人 RF/RFID)
1 本科以上學歷,電子或通信專業;
2 熟悉MSP430單片機,能獨立負責項目研發工作;
3 熟悉和精通 cc1100 cc2500 cc1101等TI CHIPCON產品優先;
4 熟悉精通無線傳感器網絡,低速率低功耗無線個域網;
5 熟練精通C/C++程序設計,有多年軟件開發經驗者優先;
6 熟悉有源RFID,無源RFID者優先;
7 有豐富射頻開發經驗者優先考慮。

基帶工程師
職位描述: 主要工作職責:
1、主要從事基帶硬件電路設計、硬件調試、故障分析定位、客戶硬件支持等工作;
2、從事音頻調試工作;
3、從事物料評估、選型、認證等工作;
4、負責項目試產的技術支持,生產過程中硬件相關問題的現場解決。
職位要求: 任職要求:
1、學歷:本科或以上學歷;
2、專業:通訊、電子工程、計算機等相關專業;
3、工作經歷:2年硬件開發工作經驗,有3G開發經驗者優先;
4、其他:項目涉及異地開發,需有良好的溝通能力,能適應出差,良好的英文讀寫能力。


備注: 本公司是專做手機行業的獵頭公司,現為中國區域內多家知名手機企業招聘多名手機銷售管理人才,根據資歷定年薪,待遇優厚,上不封頂,工作地點根據候選人意向可協商(不限于深圳,上海,北京,廣州,其他地區也有我公司客戶需求)歡迎手機行業各類高級人才朋友聯系我們(加QQ、MSN、手機),通過人才自薦或有獎推薦他人成為您職業生涯中的朋友。本招聘信息長期有效,聯系人:king
聯系電話:15889433717 QQ:877211649(手機行業) MSN:yclhr@yclhr.com
  回復  更多評論
  
<2009年5月>
262728293012
3456789
10111213141516
17181920212223
24252627282930
31123456

常用鏈接

留言簿(4)

隨筆檔案

文章分類

文章檔案

相冊

好友博客

搜索

  •  

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            免费毛片一区二区三区久久久| 久久综合图片| 欧美激情国产日韩| 老司机67194精品线观看| 亚洲国产精品成人| 欧美激情女人20p| 欧美精品二区| 一二三四社区欧美黄| 日韩一区二区精品| 国产精品一区免费视频| 亚洲激情视频网站| 亚洲欧洲日韩女同| 欧美日韩免费| 欧美有码在线观看视频| 亚洲欧美综合一区| 亚洲大胆av| 99re6热只有精品免费观看| 国产精品国产一区二区| 久久精品二区亚洲w码| 久久综合一区二区三区| 亚洲美女毛片| 午夜欧美理论片| 在线观看视频欧美| 一卡二卡3卡四卡高清精品视频| 国产欧美日韩一区二区三区在线| 免费不卡在线视频| 国产精品久久久久久久久久尿 | 日韩一区二区免费高清| 亚洲影音一区| 亚洲经典在线| 亚洲欧美资源在线| 日韩写真视频在线观看| 欧美一区二区三区久久精品茉莉花 | 亚洲国产精品一区| 国产欧美日韩激情| 亚洲国产日韩欧美在线99| 国产精品一国产精品k频道56| 免费在线观看精品| 国产精品视频网| 亚洲精品九九| 1000部精品久久久久久久久| 亚洲影视在线| 亚洲一区二区免费视频| 免费一级欧美在线大片| 久久久久久穴| 国产精品v片在线观看不卡| 欧美va日韩va| 国产一区二三区| 亚洲婷婷免费| 亚洲一区二区三区四区在线观看| 久久综合激情| 久久久女女女女999久久| 国产精品资源在线观看| 在线一区观看| 亚洲少妇自拍| 欧美日韩综合不卡| 亚洲精品一区二区网址| 最近中文字幕日韩精品| 久久女同互慰一区二区三区| 久久久久久亚洲精品中文字幕 | 欧美偷拍另类| 亚洲精品一区二区三| 亚洲九九九在线观看| 免费不卡欧美自拍视频| 欧美福利视频在线| 亚洲激情另类| 美女成人午夜| 亚洲国产精选| 99精品热视频| 欧美色大人视频| 夜夜精品视频| 午夜精品久久久久久| 国产精品美女黄网| 亚洲图片在线观看| 欧美亚洲免费电影| 国产区精品视频| 久久福利精品| 亚洲国产欧美在线 | 欧美色另类天堂2015| 在线视频一区观看| 久久久久久久精| 亚洲国产欧美一区二区三区同亚洲| 免费观看日韩av| 亚洲理论在线观看| 亚洲欧美日韩国产一区二区三区| 国产精品www网站| 欧美一二三视频| 欧美刺激午夜性久久久久久久| 亚洲欧洲精品一区二区三区不卡| 欧美女人交a| 亚洲欧美日韩国产一区二区| 久久综合成人精品亚洲另类欧美| 亚洲国产成人久久综合| 欧美日韩美女一区二区| 亚洲在线第一页| 欧美国产精品| 欧美一区二区三区免费视| 黄色成人在线网站| 欧美日韩国产美| 欧美在线视频免费| 亚洲人成毛片在线播放| 久久精品一区蜜桃臀影院 | 国产精品久久| 久久婷婷综合激情| 一区二区日韩欧美| 免费成人高清| 亚洲欧美日韩综合国产aⅴ| 精品成人一区| 国产精品色一区二区三区| 麻豆av一区二区三区久久| 99riav久久精品riav| 久久视频免费观看| 亚洲一区国产精品| 亚洲国产成人在线播放| 国产日韩一区二区三区在线播放 | 国产精品第2页| 欧美 日韩 国产一区二区在线视频 | 久久国产精品久久久久久| 亚洲精品在线观| 国产在线不卡视频| 国产精品久久久久久久久久久久久久 | 欧美一二三区在线观看| 夜夜嗨一区二区| 亚洲黄网站在线观看| 欧美成人精品在线视频| 欧美一区1区三区3区公司| 日韩午夜精品| 亚洲精品国产拍免费91在线| 国产视频在线观看一区二区| 国产精品久久999| 欧美精品福利| 欧美国产日韩a欧美在线观看| 久久精品国产综合精品| 先锋亚洲精品| 亚洲欧美视频一区| 亚洲自拍偷拍网址| 宅男精品导航| 亚洲图片欧洲图片av| 亚洲乱码国产乱码精品精98午夜| 亚洲国产91精品在线观看| 欧美激情视频在线播放| 欧美成人精品一区二区| 欧美激情免费在线| 99精品免费| 免费观看成人网| 久久精品观看| 久久gogo国模裸体人体| 欧美一级网站| 久久人人九九| 美女脱光内衣内裤视频久久网站| 欧美一区二区免费视频| 欧美在线一级va免费观看| 久久精品道一区二区三区| 久久久久久久久久看片| 麻豆精品网站| 欧美激情精品久久久久久黑人| 欧美激情va永久在线播放| 欧美另类变人与禽xxxxx| 欧美啪啪一区| 国产精品亚发布| 国产综合在线看| 亚洲三级视频| 亚洲综合色自拍一区| 久久激五月天综合精品| 牛人盗摄一区二区三区视频| 亚洲精品久久7777| 国产精品99久久久久久久vr| 玖玖国产精品视频| 欧美韩国一区| 国产精品性做久久久久久| 怡红院av一区二区三区| 一本久道综合久久精品| 亚洲欧美日韩成人高清在线一区| 久久精品一区二区三区中文字幕| 欧美www视频| 亚洲午夜视频在线观看| 久久国产精品电影| 欧美精品一区二区蜜臀亚洲| 国产老女人精品毛片久久| 亚洲国产欧美在线人成| 午夜欧美电影在线观看| 欧美国产视频一区二区| 亚洲一区在线观看视频 | 久久成人一区| 欧美三区美女| 亚洲国产精品一区制服丝袜 | 精品99一区二区三区| 中文在线一区| 免费在线国产精品| 亚洲一区二区三区三| 免费一级欧美在线大片| 国产无一区二区| 亚洲视屏在线播放| 欧美黄免费看| 久久9热精品视频| 国产精品免费在线| 在线视频亚洲| 亚洲国产欧美日韩另类综合| 欧美一区二区三区在| 国产精品毛片a∨一区二区三区|国|