Object Pascal 参考手册(Ver 0.1) 而构成。只有引用串可以包 含分隔符。 引用串由扩展 ASCII 字符集的字符所组成,最多可达 255 个。它要书写在一行中,并且用一对单引 号括起来。若单引号中没有内容(''),它被称为空串(null string)。在一个引用串中,两个连续的单引号 ('')表示一个字符,也就是单引号本身(')。看以下的例子: 'BORLAND' { BORLAND } 'You''ll see' 其它运算数必须是长字符串。 • + 运算符的返回结果和任何字符串类型是兼容的。但是,若运算数都是短字符串或字符,并且 它们的组合长度大于 255,则返回结果取前面的 255 个字符。 Pointer operators(指针运算符) 关系运算符 <、>、<= 和 >= 能对 PChar 类型进行操作(参考关系运算符)。下面的运算符也能使 用指针类型作为运算数。关于指针的更多信息,请参考指针和指针类型。 ^ pointer dereference 指针 指针的基础类型 P^ = 等于 指针 布尔 P = Q <> 不等于 指针 布尔 P <> Q ^ 运算符 dereference 一个指针(取得指针所指的内容,如何翻译呢?),除了通用指针 Pointer 以 外,它的运算数可以是任何指针类型,对于 Pointer 类型,在 dereference 之前必须进行类型转换。0 码力 | 168 页 | 868.25 KB | 1 年前3
尝试用RUST写教学操作系统类型安全: 远离void* 保安全. 远离隐式cast • 内存安全: 编译器自动推断变量的生命周期, 自动插 入free,防止程序员忘记写free. (原则上) 不会有null- pointer-dereference, double free, use-after-free 等内 存问题. rust 有runtime 检查ownership / buffer overflow -> 缓冲区溢出不会导致system0 码力 | 23 页 | 1.53 MB | 1 年前3
Comprehensive Rust(简体中文) 202412Rust 的优势 Rust 有一些独特的卖点: 23 • 内存安全:在编译时可防止所有类内存 bug – 不存在未初始化的变量。 – 不存在“双重释放”。 – 不存在“释放后使用”。 – 不存在 NULL 指针。 – 不存在被遗忘的互斥锁。 – 不存在线程之间的数据竞争。 – 不存在迭代器失效。 • 没有未定 的运行 行 :每个 Rust 语句的行为都有明确定义 – 数组访问有边界检查。 – 整数溢出有明确定义(panic 生会将引用视为指针。本课程的后续部分将介绍 Rust 如何防止因使用原始指针而导致的内存安全 bug。 • Rust 不会自动为您创建引用,必须始终使用 & 符号。 • Rust will auto-dereference in some cases, in particular when invoking methods (try r.is_ascii()). There is no need for an 如有必要,它会存储所需最小大小的整数 – 如果允许的变体值未涵盖所有位模式,则它将使用无效的位模式对判别标识进行编码(“小众 优化”)。例如,Option<&u8> 存储的要么是指向整数的指针,要么是 None 变体的 NULL 值。 – You can control the discriminant if needed (e.g., for compatibility with C): enum Bar { A0 码力 | 359 页 | 1.33 MB | 10 月前3
Golang 101(Go语言101 中文版) v1.21.a一个内置类型的底层类型为它自己。 unsafe标准库包中定义的Pointer类型的底层类型是它自己。 (至少我们 可以认为是这样。事实上,关于unsafe.Pointer类型的底层类型,官方文 档中并没有清晰的说明。我们也可以认为unsafe.Pointer类型的底层类型 为*T,其中T表示一个任意类型。) unsafe.Pointer也被视为一个内置类 型。 一个无名类型(必为一个组合类型)的底层类型为它自己。 针值可以比较的条件 (见上一小节)是一致的。 上述Go指针的限制是可以被打破的 unsafe标准库包(第25章)中提供的非类型安全指针(unsafe.Pointer)机制 可以被用来打破上述Go指针的安全限制。 unsafe.Pointer类型类似于C语言中 的void*。 但是,通常地,非类型安全指针机制不推荐在Go日常编程中使用。 本书由老貘 ? 历时三年写成。目前本书仍在不断改进和增容中。你的赞赏是 的指针属于类型安全的指针。事实上,Go还支持另一种称为非类型安全的指 针类型(第25章)。 非类型安全的指针类型提供在unsafe标准库包中。 非类 型安全指针类型通常使用unsafe.Pointer来表示。 unsafe.Pointer类似于C语 言中的void*。 在《Go语言101》中的大多数文章中,如果没有特别说明,当一个指针类型被 谈及,它表示一个类型安全指针。 但是在本文的余下内容中,当一个指针被0 码力 | 821 页 | 956.82 KB | 1 年前3
Golang 101(Go语言101 中文版) v1.21.a一个内置类型的底层类型为它自己。 unsafe标准库包中定义的Pointer类型的底层类型是它自己。 (至少我们可 以认为是这样。事实上,关于unsafe.Pointer类型的底层类型,官方文档 中并没有清晰的说明。我们也可以认为unsafe.Pointer类型的底层类型为 *T,其中T表示一个任意类型。) unsafe.Pointer也被视为一个内置类型。 一个无名类型(必为一个组合类型)的底层类型为它自己。 针值可以比较的条件 (见上一小节)是一致的。 上述Go指针的限制是可以被打破的 unsafe标准库包(第25章)中提供的非类型安全指针(unsafe.Pointer)机制 可以被用来打破上述Go指针的安全限制。 unsafe.Pointer类型类似于C语言中 的void*。 但是,通常地,非类型安全指针机制不推荐在Go日常编程中使用。 本书由老貘 历时三年写成。目前本书仍在不断改进和增容中。你的赞赏是本 指针属于类型安全的指针。事实上,Go还支持另一种称为非类型安全的指针类 型(第25章)。 非类型安全的指针类型提供在unsafe标准库包中。 非类型安全 指针类型通常使用unsafe.Pointer来表示。 unsafe.Pointer类似于C语言中的 void*。 在《Go语言101》中的大多数文章中,如果没有特别说明,当一个指针类型被 谈及,它表示一个类型安全指针。 但是在本文的余下内容中,当一个指针被谈0 码力 | 608 页 | 1.08 MB | 1 年前3
Golang 101(Go语言101 中文版) v1.21.a一个内置类型的底层类型为它自己。 unsafe标准库包中定义的Pointer类型的底层类型是它自己。 (至少我们 可以认为是这样。事实上,关于unsafe.Pointer类型的底层类型,官方文档 中并没有清晰的说明。我们也可以认为unsafe.Pointer类型的底层类型为 *T,其中T表示一个任意类型。) unsafe.Pointer也被视为一个内置类 型。 第14章:Go类型系统概述 113 值可以比较的条件(见 上一小节)是一致的。 上述Go指针的限制是可以被打破的 unsafe标准库包(第25章)中提供的非类型安全指针(unsafe.Pointer)机制 可以被用来打破上述Go指针的安全限制。 unsafe.Pointer类型类似于C语言中的 void*。 但是,通常地,非类型安全指针机制不推荐在Go日常编程中使用。 本书由老貘历时三年写成。目前本书仍在不断改进和增容中。你的赞赏是本书和 属于类型安全的指针。事实上,Go还支持另一种称为非类型安全的指针类型(第25 章)。 非类型安全的指针类型提供在unsafe标准库包中。 非类型安全指针类型通 常使用unsafe.Pointer来表示。 unsafe.Pointer类似于C语言中的void*。 在《Go语言101》中的大多数文章中,如果没有特别说明,当一个指针类型被谈及, 它表示一个类型安全指针。 但是在本文的余下内容中,当一个指针被谈及,它可能0 码力 | 591 页 | 21.40 MB | 1 年前3
TiDB v8.2 中文手册@guo-shaoge • Tools – Backup & Restore (BR) * 优化备份功能,提升在大量表备份过程中遇到节点重启、扩容或网络抖动时的备份性能和稳 定性 #52534 @3pointer * 优化恢复过程中对 TiCDC Changefeed 的细粒度检查,如果 Changefeed 的CheckpointTS 晚于数据的备 份时间,则不会影响恢复操作,从而减少不必要的等待时间,提升用户体验 支持对日志备份过程中生成的临时文件进行加密 #15083 @YuJuncen * 在 Grafana 面板中新增 tikv_log_backup_pending_initial_scan 监控指标 #16656 @3pointer * 优化 PITR 日志的输出格式,并在日志中新增 RestoreTS 字段 #53645 @dveeden – TiCDC * 支 持 当 下 游 为 消 息 队 列 (Message (stats_meta) 的问题 #53652 @hawkingrei – 修复查询中的某些过滤条件可能导致 planner 模块发生 invalid memory address or nil pointer �→ dereference 报错的问题 #53582 #53580 #53594 #53603 @YangKeao – 修复并发执行 CREATE OR REPLACE VIEW 可能报错 table doesn't0 码力 | 4987 页 | 102.91 MB | 10 月前3
TiDB v8.5 中文手册7.8.16 TiCDC 把数据同步到 Kafka 时,如何确定一条消息中包含的数据变更发生在哪个时间点? · · · · 954 7.8.17 TiCDC Open protocol 如何标示 null 值? · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 954 10 7.8 #55981 @winoros – 修复统计信息初始化时,使用非二进制排序规则的字符串类型列的统计信息可能无法正常加载的 问题 #55684 @winoros – 修复当查询条件为 column IS NULL 访问唯一索引时,优化器将行数错误地估算为 1 的问题 #56116 @hawkingrei – 修复当查询包含形如 (... AND ...)OR (... AND ...)... 的过滤条件时,优化器没有使用最优的 前台限流 Y Y Y Y Y Y Y E N N N N 后台限流 E E E E E E E N N N N N 5从TiDB v7.0.0 开始新增的参数 FIELDS DEFINED NULL BY 以及新增支持从 S3 和 GCS 导入数据,均为实验特性。从TiDB v7.6.0 开始 LOAD DATA 的事务行为与 MySQL 的事务行为一致,包括事务内的 LOAD DATA0 码力 | 5095 页 | 104.54 MB | 10 月前3
TiDB v8.4 中文手册#55981 @winoros – 修复统计信息初始化时,使用非二进制排序规则的字符串类型列的统计信息可能无法正常加载的 问题 #55684 @winoros – 修复当查询条件为 column IS NULL 访问唯一索引时,优化器将行数错误地估算为 1 的问题 #56116 @hawkingrei – 修复当查询包含形如 (... AND ...)OR (... AND ...)... 的过滤条件时,优化器没有使用最优的 Y Y Y Y Y Y Y Y Kubernetes operator Y Y Y Y Y Y Y Y Y Y Y Y 5从TiDB v7.0.0 开始新增的参数 FIELDS DEFINED NULL BY 以及新增支持从 S3 和 GCS 导入数据,均为实验特性。从TiDB v7.6.0 开始 LOAD DATA 的事务行为与 MySQL 的事务行为一致,包括事务内的 LOAD DATA playerRepository.save(player); 更多信息参考插入数据和更新数据。 查询数据 PlayerBean player = playerRepository.findById(id).orElse(null); 更多信息参考查询数据。 删除数据 playerRepository.deleteById(id); 更多信息参考删除数据。 4.3.1.4.4 下一步 • 关于本文使用到的第三方库及框架,可以参考各自官方文档:0 码力 | 5072 页 | 104.05 MB | 10 月前3
Go 入门指南(The way to Go)中的 string 类型。 Go 的内存管理机制无法管理通过 C 代码分配的内存。 开发人员需要通过手动调用 C.free 来释放变量的内存: defer C.free(unsafe.Pointer(Cvariable)) 这一行最好紧跟在使用 C 代码创建某个变量之后,这样就不会忘记释放内存了。下面的代码展示了如何使 用 cgo 创建变量、使用并释放其内存: 示例 3.3 c2.go import "C" import "unsafe" func Print(s string) { cs := C.CString(s) defer C.free(unsafe.Pointer(cs)) C.fputs(cs, (*C.FILE)(C.stdout)) } 构建 cgo 包 你可以在使用将会在第 9.5 节讲到的 Makefile 文件(因为我们使用了一个独立的包),除了使用变量 map、channel;只描述类型的行为的,如:interface。 结构化的类型没有真正的值,它使用 nil 作为默认值(在 Objective-C 中是 nil,在 Java 中是 null,在 C 和 C++ 中是NULL或 0)。值得注意的是,Go 语言中不存在类型继承。 函数也可以是一个确定的类型,就是以函数作为返回类型。这种类型的声明要写在函数名和可选的参数列 表之后,例如: func0 码力 | 380 页 | 2.97 MB | 1 年前3
共 556 条
- 1
- 2
- 3
- 4
- 5
- 6
- 56













