C++编程 有web框架:matt-42/lithium

1、vector是什么

在C++语言中,vector是一个动态数组容器,类似于Python中的list或JavaScript中的Array。vector容器提供了一系列常用操作,如插入元素、删除元素、访问元素等。

以下是一些常用的vector操作及其类比示例代码:

创建一个空的vector:
std::vector<int> myVector; // 创建一个空的int类型vector

向vector中插入元素:
myVector.push_back(10); // 在vector末尾插入元素10
myVector.push_back(20); // 在vector末尾插入元素20
myVector.push_back(30); // 在vector末尾插入元素30

获取vector的大小(元素个数):
int size = myVector.size(); // 获取vector中元素的个数

访问vector中的元素:
int firstElement = myVector[0]; // 访问第一个元素
int lastElement = myVector.back(); // 访问最后一个元素

删除vector中的元素:
myVector.pop_back(); // 删除最后一个元素

遍历vector中的所有元素:
for(int i=0; i<myVector.size(); i++) {
    std::cout << myVector[i] << " ";
}

通过以上例子,可以看到vector容器在C++中的使用方式类似于Python中的list和JavaScript中的Array,都是一种动态数组容器,方便进行元素的插入、删除和访问操作。

 




一、安装json库的方法

 



 

一、代码示例

#include <lithium_http_server.hh>
#include <lithium_pgsql.hh>
#include "symbols.hh"

using namespace li;

int main() {
    // 创建 PostgreSQL 数据库连接
    pgsql_database db = pgsql_database(
        s::host = "localhost",
        s::database = "your_database",
        s::user = "your_username",
        s::password = "your_password",
        s::port = 5432
    );

    // 定义 ORM 模式
    auto schema = sql_orm_schema(db, "users")
        .fields(s::id = int(),
                s::name = std::string(),
                s::email = std::string());

    // 连接 ORM 模式
    auto users = schema.connect();

    // 定义 HTTP API
    http_api api;
    api.get("/users") = [&](http_request& req, http_response& res) {
        // 查询所有用户
        auto result = users(s::select = s::all);
        res.write(result);
    };

    api.post("/users") = [&](http_request& req, http_response& res) {
        // 创建新用户
        auto new_id = users.insert(s::name = req.get_parameter("name"),
                                    s::email = req.get_parameter("email"));
        res.write("User created with id: ", new_id);
    };

    api.get("/users/:id") = [&](http_request& req, http_response& res) {
        // 根据 ID 查询用户
        auto user = users.find_one(s::id = req.url_parameters().id);
        if (user) {
            res.write(*user);
        } else {
            res.write("User not found");
        }
    };

    api.put("/users/:id") = [&](http_request& req, http_response& res) {
        // 更新用户信息
        auto updated = users.update(s::id = req.url_parameters().id,
                                    s::name = req.get_parameter("name"),
                                    s::email = req.get_parameter("email"));
        res.write("User updated: ", updated);
    };

    api.delete("/users/:id") = [&](http_request& req, http_response& res) {
        // 删除用户
        auto deleted = users.remove(s::id = req.url_parameters().id);
        res.write("User deleted: ", deleted);
    };

    // 启动 HTTP 服务器
    http_serve(api, 8080);
}

 


 




 





posted @ 2024-09-11 20:48  pearlcity  阅读(4)  评论(0编辑  收藏  举报