![]() |
1
6
因为C是第一个发明的。我不知道他们当时是否没有考虑引用(大部分是不必要的),或者是否有一些特殊的原因不包括它们(可能是编译器的复杂性)。对于面向对象和通用构造,它们当然比C的过程样式更有用。 |
![]() |
2
5
参考论据最初是为了一件事而发明的,阿法克: 运算符重载语义 . 例如,运算符[]必须返回引用。 “隐藏的指针”是否应该用于任何其他用途,这是一个争论不休的话题。 许多公司的开发会议文件都说“从不使用参考资料”。如果你需要一个指针,就这么说。 然而,后来发现引用有一个主要优势(不,不是语法上的优势)。它是这样的:除非你真的很努力地去打破它,否则一个参考是肯定有效的。 就我个人而言,我仍然不明白为什么我不能在C++中这样做:
|
![]() |
3
1
它们不在C中,因为它们不是必需的。C具有很少的“外来”特征。您可以不使用引用编写任何程序,因此不包括引用。C++的开发时间比C语言要晚得多,所以它的设计者会抛出各种原本不在C.的东西。 |
![]() |
4
1
正如你所知道的,C比C++早十年左右。引用是C++语言中引入的一个特性。C语言的后续版本已经采用了C++语言的一些特性(如const和//注释)。参考文献的概念还没有到目前为止。 我们可以假设,它们在面向对象编程中的有用性并不能有效地转化为C的过程编程。 |
![]() |
5
1
我认为我同意帕维尔的观点,他们是为了让超载的操作员正常工作而发明的。很明显,C++的第一个版本(C类)没有引用,好像它们引用过一样。
|
![]() |
6
0
我猜C生来就有一顶极简主义的帽子,引用只是指针的句法糖分。 |
![]() |
MaPo · Linux,设置锁定ICMP_过滤器选项 8 月前 |
![]() |
Doohyeon Won · 内联函数上的奇怪现象?[关闭] 8 月前 |
![]() |
Bobby · 复合字面值总是左值吗? 8 月前 |
![]() |
9-Pin · C: 嵌套结构的堆栈内存分配 8 月前 |