摘要: 为了更好地理解 Go 语言中的 切片(slice),我们可以将它与 C++ 中的数组或容器(如 std::vector)进行比较,但要注意的是,它们之间有一些关键的区别。让我们逐步将 Go 的切片与 C++ 中的概念进行对应: 1. 数组 vs 切片 在 C++ 中,数组(array) 是一种固定大 阅读全文
posted @ 2024-10-24 15:13 牛马chen 阅读(55) 评论(0) 推荐(0)
摘要: 在Go语言中,range 是一个用于遍历各种数据结构(如数组、切片、字符串、map 和通道)的关键字。range 可以返回一个索引和值,或者是键和值,具体取决于你遍历的是什么类型的数据结构。 1. range 的用法 range 常用于 for 循环,来遍历集合中的元素。它可以遍历数组、切片、字符串 阅读全文
posted @ 2024-10-24 14:38 牛马chen 阅读(304) 评论(0) 推荐(0)
摘要: 在Go语言中,方法是附属于某种类型的函数,也就是说,方法与接收者(receiver)绑定,它可以是结构体类型或自定义类型。 方法和函数的主要区别在于方法有一个特殊的接收者参数,而普通的函数没有。 1. Go中的方法定义 Go语言的方法是通过在函数名前面加上一个接收者参数来定义的。接收者可以是值类型或 阅读全文
posted @ 2024-10-23 19:58 牛马chen 阅读(60) 评论(0) 推荐(0)
摘要: Shebang(也称为 hashbang 或 bang line)是一个在脚本文件的第一行用来指定解释器的特殊字符序列。它的语法如下: #!/path/to/interpreter 解释 #!: 表示这是一个 shebang 行。# 是注释符号,! 是感叹号,组合在一起表示后面的内容是执行该脚本所需 阅读全文
posted @ 2024-10-22 15:31 牛马chen 阅读(141) 评论(0) 推荐(0)
摘要: 在 C++ 中,std::multiset 容器允许存储多个相同的元素(即重复元素)。 要删除 multiset 中的某个值的一个实例,而不是删除所有相同的值,可以使用 erase() 方法的迭代器版本,该版本允许精确地删除某个位置的元素。 语法: multiset.erase(iterator); 阅读全文
posted @ 2024-10-15 21:32 牛马chen 阅读(268) 评论(0) 推荐(0)
摘要: 在 C++ 中,不同容器之间的转换主要依赖于标准库的迭代器。大部分标准容器提供了兼容的构造函数或函数接口来从其他容器转换或初始化数据。下面是几种常见容器的转换方式: 1. vector 到 set 的转换 #include <iostream> #include <vector> #include 阅读全文
posted @ 2024-10-15 18:27 牛马chen 阅读(464) 评论(0) 推荐(0)
摘要: std::nullopt 是 C++17 中引入的一个特殊值,用来表示 std::optional 类型中的“无值”状态。它用于显式地表示某个 std::optional 对象不包含有效值,而不是用默认构造函数或其他不明确的方式表示。 std::nullopt 的使用 std::nullopt 是一 阅读全文
posted @ 2024-10-10 10:41 牛马chen 阅读(164) 评论(0) 推荐(0)
摘要: 递归下降(Recursive Descent Parsing)是一种自顶向下的解析方法,用于解析编程语言的语法或表达式。 它通过使用一组递归的函数来处理文法规则(通常是上下文无关文法),从而将输入字符串解析为语法树或抽象语法树(AST)。 递归下降解析器是手工编写的,因此可以根据具体需要灵活地控制解 阅读全文
posted @ 2024-10-10 10:19 牛马chen 阅读(652) 评论(0) 推荐(1)
摘要: 智能指针是 C++ 中用于自动管理动态分配内存的工具,主要有三种类型:std::unique_ptr、std::shared_ptr 和 std::weak_ptr。下面是如何创建和使用这些智能指针的详细说明: 1. std::unique_ptr 用途:std::unique_ptr 是一种独占式 阅读全文
posted @ 2024-10-08 17:23 牛马chen 阅读(41) 评论(0) 推荐(0)
摘要: std::bind 是 C++ 标准库中的一个工具,用于将函数对象与部分参数绑定在一起,生成一个新的可调用对象。这使得函数的参数可以被部分或全部提前指定,从而得到一个参数更少甚至无参数的函数对象。在某些情况下,它可以用来延迟执行函数、简化函数调用,或在需要无参函数对象的场景中使用(如线程池、回调等) 阅读全文
posted @ 2024-10-08 15:43 牛马chen 阅读(220) 评论(0) 推荐(0)