Loading

上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 85 下一页
摘要: Modern C++ Starter Kits Share 初入 C++ 搬砖,在团队中开发实际上很少亲自从零开始搭建C++的完整项目,99%时候都是使用基础架构团队或者CI/CD团队搭建好的框架。这里分享几个配置C++项目的模版,它们一般会涉及三方库管理、格式校准、单元测试、静态检查、Sanitizer配置、CI/CD配置等方面,内容比较完善。 Build 阅读全文
posted @ 2023-11-27 16:06 RioTian 阅读(163) 评论(0) 推荐(0)
摘要: 在 C++ 裡頭有相當多「容器」。從原生的陣列,到標準庫 STL 的 vector, array, list, queue, map, set, …。有時候我們只是想以檢視的角度去看一個容器,或是其中一段內容,而不需要底下龐大的資料結構支撐其運作,也不想要擁有這個容器內的元素,這就是 C++20 中 阅读全文
posted @ 2023-11-27 11:01 RioTian 阅读(376) 评论(0) 推荐(0)
摘要: 我们知道std::string_view可以创建std::string的一个视图,视图本身并不拥有实例,它只是保持视图映射的状态。在不修改实例的情况下,使用std::string_view会让字符串处理的性能大幅提升。实际上,对于那些连续的序列对象我们都可以创建这样一份视图,对于std::vecto 阅读全文
posted @ 2023-11-27 10:19 RioTian 阅读(275) 评论(0) 推荐(0)
摘要: 本博文会介绍移动语义的形式术语和规则。并且会正式的介绍值的类别,如 lvalue、rvalue、prvalue和 xvalue,并讨论了在绑定对象引用时的作用。也会讨论移动语义不会自动传递的细节,以及decltype 在表达式调用时的微妙行为。 作为《Cpp Move Semantics》书中最复杂 阅读全文
posted @ 2023-11-24 10:59 RioTian 阅读(154) 评论(0) 推荐(0)
摘要: 最近在学习 C++ Move 时,有看到这样一个代码需求:在 lambda 中,将一个捕获参数 move 给另外一个变量。 看似一个很简单常规的操作,然而这个 move 动作却没有生效。 具体代码如下 std::vector<int> vec = {1,2,3}; auto func = [=]() 阅读全文
posted @ 2023-11-24 08:57 RioTian 阅读(251) 评论(0) 推荐(0)
摘要: Mac M2 Pro Docker 24.0.6 $ docker volume inspect 14dfdb65fb7075d91b2004c979a3591df54bcc1303ff3ca96a3536f4761a19cc [ { "CreatedAt": "2023-11-21T12:52:2 阅读全文
posted @ 2023-11-23 20:58 RioTian 阅读(853) 评论(0) 推荐(0)
摘要: 【Protoc】VS2019 (VS平台) 使用 CMake 编译安装、使用 Protobuf 库 本文介绍在 macOS 系统下 cmake 和 protobuf 一起使用的一种方式——使用 cmake 自动编译 proto 文件为 pb.cc 和 pb.h 文件。 protobuf protob 阅读全文
posted @ 2023-11-22 14:19 RioTian 阅读(1451) 评论(0) 推荐(0)
摘要: “Move semantics allows us to optimize the copying of objects, where we no longer need the value. It can be used implicitly (for unnamed temporary obje 阅读全文
posted @ 2023-11-22 13:28 RioTian 阅读(305) 评论(0) 推荐(0)
摘要: Reference https://www.willh.cn/articles/2022/07/13/1657676401964.html Docker默认安装在C盘: "C:\Program Files\Docker" 文件夹下。 本文将Docker安装在D:\Program Files\Dock 阅读全文
posted @ 2023-11-21 11:16 RioTian 阅读(939) 评论(0) 推荐(0)
摘要: #pragma once #include <windows.h> #include <string> // #include <iostream> class ServiceManage { public: ServiceManage() = default; ~ServiceManage() = 阅读全文
posted @ 2023-11-17 08:23 RioTian 阅读(70) 评论(0) 推荐(0)
摘要: CMake 相关问题: 即CMakeLists.txt文件中,在add_executable添加了WIN32。即当使用了WIN32标识后,就去掉了控制台,那么自然就没有信息打印出来了。 # for example add_executable(${PROJECT_NAME} WIN32 ${_SRC 阅读全文
posted @ 2023-11-15 13:36 RioTian 阅读(451) 评论(0) 推荐(0)
该文被密码保护。 阅读全文
posted @ 2023-11-10 22:39 RioTian 阅读(5) 评论(0) 推荐(0)
摘要: 在 C++11 之前,值类型变量的传递会导致把它完整的拷贝一份 比如说把一个 vector 作为函数返回值赋值给某个局部变量,他就会调用 vector 的拷贝构造函数创建一个完整的副本,把这个副本作为函数返回的临时变量,然后把这个临时变量赋值给那个局部变量时又会再次拷贝构造 (不过这其实会被大多数编 阅读全文
posted @ 2023-11-10 21:12 RioTian 阅读(59) 评论(0) 推荐(0)
摘要: Lambda 听起来非常的牛逼,很容易就会联想到函数式编程或者 Lambda 演算这样的东西。但是在 C++里,没那么复杂,就把它当匿名函数用就好了 HelloWorld 对于降序排序,我们可以这样写(难道 greater 不好吗) int arr[] = {2, 4, 5, 0, 3, 1}; s 阅读全文
posted @ 2023-11-10 21:10 RioTian 阅读(72) 评论(0) 推荐(0)
摘要: C++没有垃圾回收,因此 new 出来的对象都要自己管理 为了方便的管理内存,我们发现垃圾回收中引用计数的思路很简单就能在 C++中实现,而其实标准库中就已经有这样的实现,也就是智能指针 它们的头文件都是 memory shared_prt 根据引用计数自动销毁对象,构造时引用数加一,析构时引用数减 阅读全文
posted @ 2023-11-10 21:09 RioTian 阅读(82) 评论(0) 推荐(0)
上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 85 下一页