好消息!C++程序員也能用上NumPy了
本文經AI新媒體量子位(公眾號ID:QbitAI)授權轉載,轉載請聯系出處。
假如你很“不幸”是一名從事機器學習開發的C++程序員,一定很羨慕Python,因為很多熱門的軟件包都是專門為Python開發。C++程序員只能看著眼饞,甚至包括最熱門的NumPy也無法使用。
最近有個網友為廣大C++程序員解決了一大痛點:

這就是C++版本的NumPy,名為NumCpp,是一位叫David Pilger的程序員開發的。從此用#include也能導入頭文件,就像Python程序員用import一樣容易。
二者除了語法上的差異,調用函數的名稱也幾乎一致。就算有什么不懂,你也可以去David的說明文檔頁查找具體用法。
以最基礎的數組定義和初始化為例,NumCpp可以直接定義數組、改變數組形狀、轉換變量類型、生成對角矩陣等等。

從上圖可以看出,NumPy和NumCpp調用的函數名稱幾乎完全一致,除了在定義數據類型上有一些差別。需要注意的是NumpCpp中的創建一個數組調用的是NdArray,而Python上用的是array。
如果需要更詳細的了解兩種工具包的差異。可以去下面的命名空間、數據結構索引中查看。
命名空間列表按照功能分類,命名空間成員則按照名稱排序。數據結構也與之類似。

所有的頭文件也匯總在這份文檔中:

David給出了一段編程示例,調用了NumPy常用的函數,你也可以通過這段簡短的程序大致了解NumCpp的基本用法。
【Example】
GitHub項目頁:
https://github.com/dpilger26/NumCpp
完整版說明文檔:
https://dpilger26.github.io/NumCpp