上一页 1 2 3 4 5 6 7 8 9 ··· 81 下一页
摘要: 说明 《Functional Programming in C++》书中代码练习测试以及一些笔记,部分代码需要用到C++20可以使用在线编译器编译代码 地址:https://coliru.stacked-crooked.com/ 或者自己编译gcc-11.2及以上版本安装 1 介绍 1.1 什么是函 阅读全文
posted @ 2023-12-12 09:18 RioTian 阅读(164) 评论(0) 推荐(0) 编辑
摘要: C++标准库提供了一个非常优秀的字符串处理类std::string,我们可以通过该类完成各种字符串操作。但是std::string有一个缺点,它的很多操作都是针对字符串实体,存在不必要的内存拷贝的代码,导致字符串的处理性能不尽如人意。 针对这种情况C++17标准引入了std::string_view 阅读全文
posted @ 2023-12-07 14:36 RioTian 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 参考博客: std::enable_shared_from_this原理浅析 引言 在C++编程中,使用智能指针是一种安全管理对象生命周期的方式。std::shared_ptr是一种允许多个指针共享对象所有权的智能指针。然而,当一个对象需要获取对自身的shared_ptr时,传统的方法可能导致未定义 阅读全文
posted @ 2023-12-07 09:52 RioTian 阅读(213) 评论(0) 推荐(0) 编辑
摘要: IDE: Clion LLVM cmake_minimum_required(VERSION 3.9) project(clang_demo) find_package(LLVM REQUIRED CONFIG) message(STATUS "Found LLVM ${LLVM_PACKAGE_V 阅读全文
posted @ 2023-12-04 18:51 RioTian 阅读(99) 评论(0) 推荐(0) 编辑
摘要: Rust Installation with relative Configuration 选用 rsproxy.cn 节点 Update:24/01/25 https://rsproxy.cn/ 参考此网站即可 References Rust Course The Hitchhiker's Guide to Rust mirrors.tuna.tsinghua.edu.cn Rust C 阅读全文
posted @ 2023-12-03 11:07 RioTian 阅读(24) 评论(0) 推荐(0) 编辑
摘要: 判断 CMake 编译环境 编译类型 CMAKE_BUILD_TYPE 可取值为:Debug, Release, RelWithDebInfo, MinSizeRel 等预设值 if (CMAKE_BUILD_TYPE MATCHES Debug) #do some thing endif() 系统 阅读全文
posted @ 2023-12-01 13:31 RioTian 阅读(85) 评论(0) 推荐(0) 编辑
摘要: References C++ Coding Standard 這本書的中文版不知道是不是翻譯問題,還是原作就有這種傾向,有些咬文嚼字的很不好懂。 Exceptional C++ 這本比上面那本容易理解的多,有提到 PIMPL 實作上需要注意的地方,可惜的是已經絕版了,有趣的是前面那本作者之一也是本書 阅读全文
posted @ 2023-11-29 09:31 RioTian 阅读(71) 评论(1) 推荐(0) 编辑
摘要: C++11 中推出了三种智能指针,unique_ptr、shared_ptr 和 weak_ptr,同时也将 auto_ptr 置为废弃 (deprecated)。 但是在实际的使用过程中,很多人都会有这样的问题: 不知道三种智能指针的具体使用场景 无脑只使用 shared_ptr 认为应该禁用 r 阅读全文
posted @ 2023-11-28 15:41 RioTian 阅读(98) 评论(0) 推荐(0) 编辑
摘要: References 现代C++学习——实现多类型存储std::variant 如何优雅的使用 std::variant 与 std::optional std::variant 是 C++17 中,一個新加入標準函式庫的 template 容器;他的概念基本上是和 union(參考)一樣,是一個可 阅读全文
posted @ 2023-11-28 13:10 RioTian 阅读(104) 评论(0) 推荐(0) 编辑
摘要: Modern C++ Starter Kits Share 初入 C++ 搬砖,在团队中开发实际上很少亲自从零开始搭建C++的完整项目,99%时候都是使用基础架构团队或者CI/CD团队搭建好的框架。这里分享几个配置C++项目的模版,它们一般会涉及三方库管理、格式校准、单元测试、静态检查、Sanitizer配置、CI/CD配置等方面,内容比较完善。 Build 阅读全文
posted @ 2023-11-27 16:06 RioTian 阅读(56) 评论(0) 推荐(0) 编辑
摘要: 在 C++ 裡頭有相當多「容器」。從原生的陣列,到標準庫 STL 的 vector, array, list, queue, map, set, …。有時候我們只是想以檢視的角度去看一個容器,或是其中一段內容,而不需要底下龐大的資料結構支撐其運作,也不想要擁有這個容器內的元素,這就是 C++20 中 阅读全文
posted @ 2023-11-27 11:01 RioTian 阅读(52) 评论(0) 推荐(0) 编辑
摘要: 我们知道std::string_view可以创建std::string的一个视图,视图本身并不拥有实例,它只是保持视图映射的状态。在不修改实例的情况下,使用std::string_view会让字符串处理的性能大幅提升。实际上,对于那些连续的序列对象我们都可以创建这样一份视图,对于std::vecto 阅读全文
posted @ 2023-11-27 10:19 RioTian 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 本博文会介绍移动语义的形式术语和规则。并且会正式的介绍值的类别,如 lvalue、rvalue、prvalue和 xvalue,并讨论了在绑定对象引用时的作用。也会讨论移动语义不会自动传递的细节,以及decltype 在表达式调用时的微妙行为。 作为《Cpp Move Semantics》书中最复杂 阅读全文
posted @ 2023-11-24 10:59 RioTian 阅读(65) 评论(0) 推荐(0) 编辑
摘要: 最近在学习 C++ Move 时,有看到这样一个代码需求:在 lambda 中,将一个捕获参数 move 给另外一个变量。 看似一个很简单常规的操作,然而这个 move 动作却没有生效。 具体代码如下 std::vector<int> vec = {1,2,3}; auto func = [=]() 阅读全文
posted @ 2023-11-24 08:57 RioTian 阅读(111) 评论(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 阅读(523) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 ··· 81 下一页