gpt4 book ai didi

c++ - 说 C++ 是一种部分类型安全的语言是否准确?

转载 作者:太空狗 更新时间:2023-10-29 20:54:16 29 4
gpt4 key购买 nike

C++ 中有一些特性是类型安全的,而另一些则不是。

C++ 类型安全示例:

char c = 'a';
int *p = &c; // this is not allowed (compiler error)

C++ 缺乏类型安全的例子:

int *p;        // I don't have to initialize p, and so it will have some junk/random value
*p = 12345; // this will probably lead to segmentation fault!

我在几篇文章中读到 C++ 不是一种类型安全的语言。我可以认为它是一种非类型安全语言,还是说它是一种部分类型安全的语言更准确?

最佳答案

说 C++ 是一种部分类型安全的语言,有道理并且有实际意义

C++ 最初是 1970 年代中后期原始 C 的扩展,它被设计为一种高级可移植汇编语言,以使 Unix 更具可移植性和更易于维护。 C++ 为其新功能添加了类型安全,但为了主要与 C 兼容(特别是使用所有现有的 C 库,包括它们的头文件),C 的原始核心必须保持原样。

特别是,C++ 从 C 中获取数组到指针的衰减。在 C++ 中,它不是类型安全的,因为它允许从 Derived 数组到指向 Base< 的指针的隐式转换,它又可以被索引,但具有未定义的行为。

关于c++ - 说 C++ 是一种部分类型安全的语言是否准确?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39813866/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com