1. 程式人生 > >C++11新特性(1)-long long

C++11新特性(1)-long long

溫故而知新

迄今為止的職業生涯中,有過兩次集中時間學習C++的經歷。

第一次大概是在1994年前後,那時非計算機專業大學畢業剛接觸C++,學的是還是BorlandC++3.1的手冊。許多東西都是一知半解就開始了應用,但即使是這樣,還是充分感覺到C++的強大,非常喜歡C++帶來的那種充分控制,無所不能的感覺。

第 二次是在2006年前後,正好工作有一段空閒時間,學的是《C++ Primer第三版》,《C++ Programing》還有《Effective C++》。經過十多年的實際運用再讀C++的經典著作,結合自己地程式設計實踐,算是對C++有個一個比較全面的理解,感覺收穫頗豐。

一晃十多年又過去了,這段時間C++經歷了C++11,C++14,目前的最新版是C++17。無論是從時間間隔的角度,還是C++標準變遷的角度,都到了溫故而知新的時候了。

準備

本人的習慣,不管幹什麼都要先拉好架子,所以就買了下面這本書。

開始我們的學習程序吧。

long long型別

資料型別long long是在C++11中重新定義的,標準規定它最小是64bit。

在這之前為了提供超過32bit的整數,各個開發環境(編譯器)分別定義了各自的64bit整數型別。結果當然就是影響了程式碼地相容性。

現在好了。C++11直接定義了long long型別。

我猜許多人應該使用過這個型別,當然在C++11之前,這種嘗試會被編譯器無情拒絕,自C++11之後就不會在發生這樣地情況了。因此我認為:在C++11新特性中,long long一定是最容易被接受的一個。多數程式設計師看到它時甚至不會意識到這是一個新特性。

相應地,C++11規定:在指定long long字面值型別時,使用ll或LL。這也可以從long的l或L推斷出來。

另外,也可以像long型別字面值一樣使用U字尾已表明這時一個無符號數。

2LL

3ll

100ULL

小寫的ll雖然合法,但是容易和數字1混淆,還是用大寫的吧。

拜託

既然已經讀到這裡了,拜託大家再用一分鐘時間,將文章轉發到各位的朋友圈,微信群中。本公眾號的成長需要您的支援!以上就是今天文章,歡迎點贊並推薦給您的朋友!閱讀更多更新文章,請掃描下面二維碼,關注微信公眾號【面向物件思考】