2026年3月31日 星期二

測試 Claude 的能耐,讓它產生一個 C++23 的程式看看

 最近很多人在養龍蝦,敝公司也測試性的養個幾隻。由於很多人養龍蝦都是用 Claude AI 這個 AI 引擎,我之前也看過不少文章在推廣用它來協助開發程式。所以,我突然在想,我為何不來測測這東西有什麼能耐?

由於最近我在學習 C++20 和 C++23 這兩個新標準帶來的新功能,其中最令人吃驚的就是 rages 這東西了。它讓 C++ 變成像 shell script 一樣簡單。而且,一看就覺得可以把它拿來做資料庫讀取使用。

所以,我下了以下的咒語

我想試著寫一個可以讀取 SQLite 資料庫的 C++23 程式。
你可以提供一個範例給我嗎?
可以讀取一個6 column X 5 row的 SQLite table,內容隨便產生。
然後用 ranges 和 views 列出內容。
我的 OS 是 Zorin OS,所以是Ubuntu系的,x64版本。IDE 是 Visual Studio Code。OS和IDE我都安裝好了。
請順便告訴我要安裝哪些套件,並且可以讓我馬上可以make好這個範例。

回答:

需要安裝的套件

先在終端機執行以下指令:

main.cpp

Makefile

編譯與執行

重點說明

使用的功能說明
std::views::enumerateC++23,同時取得索引與值
std::views::filter篩選符合條件的列
std::views::transform將每列對應成另一種型態
std::formatC++20,型別安全的格式化輸出
SQLite :memory:在記憶體中建立資料庫,不需要實體檔案


然後,我到 Zorin OS 上執行:



可以跑!而且是正確的。

它把資料庫整個在 memory 上執行,快!

Claude AI 果然沒讓我失望。

沒有留言:

張貼留言

用 Go 語言,使用 Gin 開發 Docker 的 Web 應用

我要做一個範例,請 Claude 幫我生成。 很簡單,使用Docker,用 GO 語言,儘量用 1.25 版。然後 Docker 基底可以使用 alpine 或 Ubuntu。Docker 有一個 volume,可以放 SQLite 資料庫。 然後用 Gin 寫一個 Web 應用...