C++14 編譯階段的整數序列的 integer_sequence

這篇雖然是在講 C++14 的「std::integer_sequence」(cppreference),不過實際上應該算是之前《C++11 的「…」:Parameter Pack》一文的延伸。

std::integer_sequence 是一個用來建立編譯階段(compile-time )的整數序列(不是陣列)的 template class,定義如下:

template< class T, T... Ints >
class integer_sequence;

而他是被定義在標準函式庫的 <utility> 這個標頭檔裡面,所以要使用的話,就需要引入這個檔案。

他最基本的使用方法大致上如下:

std::integer_sequence<int, 1, 3, 5, 7>()

這樣就代表了一個型別是 int 的序列、裡面有 1, 3, 5, 7 四個數值。

閱讀全文

廣告

C++14 到 C++17 的變化

這篇是參考《Changes between C++14 and C++17 DIS》,他主要是在描述 C++14 到 C++17 的變化;雖然由於 C++17 其實還是草案,所以很多東西都還有變數。不過由於他這邊整理的滿清楚的,所以這邊就稍微紀錄一下。

這篇文章,基本上把 C++14 到 C++17 的變化,整理出幾個部分:

  1. Removed or deprecated features(移除與已棄用的功能)
  2. New core language features with global / local applicability (新的核心語言功能)
  3. New library features(新的函式庫功能)
  4. Modifications to existing features(現有功能的修改)
  5. Miscellaneous(雜項)

閱讀全文

微軟正式推出 Visual Studio 2017

微軟又針對旗下的程式開發環境、Visual Studio 推出新版本囉~這次的版本是 Visual Studio 2017,目前也已經可以下載安裝了~它的官方網站是:

https://www.visualstudio.com/zh-hant/

而新功能的介紹,則可以參考「新功能」的頁面(連結)、或是直接看 release note 的細節(連結)。

目前的 Visual Studio 有三個版本,包括了免費的社群版(Community、官網)、一般人用的專業版(Professional、官網),以及最高階的企業版(Enterprise、官網)。

閱讀全文

微軟 2016 程式開發相關消息

這篇算是稍微整理一下,微軟在 Build 2016 大會上(官網),一些關於程式開發的新消息。

在 Heresy 個人來看,這幾年微軟一個很大的方向,應該就是「跨平台」吧…包含前幾天的《Windows 10 將可以跑 Linux 的 Bash shell 和 Ubuntu 的程式了》,以及更早的 Visual Studio Code 在內,微軟現在似乎越來越主動走向 Linux 社群了…

而這篇的重點,則包含了新的 Visual Studio "15" 預覽版,Visual Studio 2015 Update 2,以及 Visual C++ for Linux Development、C/C++ extension for Visual Studio Code;而在 .Net 那頭,更是喊出了「開放、跨平台、免費」的口號(參考)。

閱讀全文

AMD 放大招了…推出 Boltzmann Initiative、支援 CUDA 程式的轉移!

NVIDIA 的 CUDA 架構,基本上應該算是現階段最成功的 GPGPU 環境之一。他在新一代、專門用來做大量平行計算的環境裡面,算是推出最早的,所以相對起來、發展的也算是最完整的;而後來雖然 Khronos 有推出跨硬體平台的開放標準 OpenCL(Intel、AMD、NVIDIA 都有支援),但是就 Heresy 所知,還是有許多開發人員是偏好 CUDA 的。

而 AMD 在 GPGPU 這一塊…個人是覺得發展的始終有點悲劇吧?Heresy 有紀錄的部分,他最早是推出自家的「Stream SDK」,而之後就徹底捨棄自己的語言、完全轉投向 OpenCL、Stream SDK 也改名為「AMD APP SDK」了。

儘管 AMD 也試著在靠 OpenCL、以及後來所推出、基於 AMD APU 的「Heterogeneous System Architecture」(異質系統架構、官網)來做平行計算的發展方向(AMD 稱之為「Heterogeneous Computing」、異質計算),但是實際上…就個人所知,成效似乎不算是很好。

閱讀全文

微軟推出 VisualStudio 2015 以及 VisualStudio 2013 Update 5

在去年年底微軟推出 Visual Studi 2015 預覽版後,在今年四月微軟又針對 VisualStudio 2015 持續改良、推出了 Visual Studio 2015 RC,而現在、正式版終於推出了!而目前也已經可以在微軟網站下載了,其網址是:

https://www.visualstudio.com/downloads/download-visual-studio-vs

目前微軟的網站提供了可以免費使用的社群版(Visual Studio Community)、以及企業版(Visual Studio Enterprise)的試用版可供下載;另外也有提供跨平台、用來進行網頁開發的 VisualStudio Code 可以下載。

閱讀全文

微軟發表跨平台的 VisualStudio Code、以及 Visual Studio 2015 RC

微軟在去年底,曾經針對其自家的軟體開發環境,發表了一個相當大的策略性變化的新聞。包括了提供有限度免費的 VisualStudio Community 2013,以及開放了一定程度的 .Net Core 的原始碼;而在下一代的 VisualStudio 2015 Preview(預覽版)更是加入了跨平台開開的能力,讓開發者可以在 Windows 上透過 VisualStudio 2015 來開發 Android 或 iOS 的 App~
(請參考《微軟大消息!免費的全功能版 Visual Studio Community 2013、以及 Visual Studi 2015 預覽版發布!》)

而在今年的微軟 Build 大會上,微軟又繼續發表了一些讓人驚訝的消息了~包括了跨平台(Windows、Linux、MacOS)的開發環境「VisualStudio Code」、以及可以針對 Linux 程式進行偵錯的「Visual Studio 2015 RC」~官方的消息,可以參考《BUILD 2015 News: Visual Studio Code, Visual Studio 2015 RC, Team Foundation Server 2015 RC, Visual Studio 2013 Update 5》或《Introducing Visual Studio Code, Visual Studio 2015 RC, Application Insights Public Preview and .NET Core Preview for Linux and Mac》。

閱讀全文

常見編譯器對 C++ 新標準的支援

本文的資料是來自《The Growth of Modern C++ Support》這篇文章。在這篇文章裡面,作者是針對 VC++(Microsoft Visual C++)、gcc、clang 以及 ICC(Intel C++ Compiler)這幾個知名的 C++ 邊義器,去整理他們對於 C++ 的新標準的支援進度圖。

首先,是 C++ 11 的部分(點下去可以看大圖):

閱讀全文

微軟大消息!免費的全功能版 Visual Studio Community 2013、以及 Visual Studi 2015 預覽版發布!

昨天微軟針對自家的開發環境,還真是放出了不少讓 Heresy 訝異的消息…而在 Somasegar’s blog,也有一篇標題超長的文章,來彙整這些發布…該文章是《Opening up Visual Studio and .NET to Every Developer, Any Application: .NET Server Core open source and cross platform, Visual Studio Community 2013 and preview of Visual Studio 2015 and .NET 2015

整個來說,這次一口氣發布的消息共有五項,包括了:

  • Server-side 的 .Net Core stack 在接下來的幾個月、將會完全開放原始碼
    而且開放原始碼的 .Net 除了可以在 Windows 執行外外,也將會可以 Linux 和 Mac OS X 上運作

  • 針對自家 Windows 上的開發工具、Visual Studio,推出了新的版本「Visual Studio Community 2013」
    這是一個免費版本,而且和之前免費、有做功能閹割 Express 版不同,他是全功能的版本(等同專業版)

  • 下一代的 Visual Studio 2015 Preview、.NET 2015 Preview。提供了跨平台(行動裝置…)的程式開發功能!

  • Visual Studio 2013 Update 4 發布。

  • Visual Studio Online 的 DevOps 加入 Visual Studio Online Release Management service 和 Visual Studio Cloud Deployment Projects。

閱讀全文

C++14 定案了!

之前已經有介紹過、在 C++11 之後的新的 C++ 標準、「C++14」正在討論中。而現在,C++14 的標準已經定案了!在昨天,C++14 標準的草案已經被配接受、接下來將由 ISO 發布新的標準:ISO/IEC 14882:2014(E) Programming Language C++,也就是 C++14。

官方發表的消息,可以參考《We have C++14!》,目前似乎還沒有放出新的文件,所以還是只能看 2013 年底的草案(N3739 PDF)。

而 C++14 的改變,Heresy 之前在《C++14 進行中,來看目前的委員會草案吧~》已經有提過了一些了(看來有的似乎沒有進 C++14),而現在也可以在網路上看到更多資訊了。有興趣的話,可以參考:

閱讀全文