在C++中,super
关键字通常用于访问基类(父类)的成员函数或成员变量。然而,C++标准本身并没有直接提供super
关键字。在某些编程语言或框架中,如Objective-C或U++,super
被用作一个特殊的标识符来引用当前对象的父类。但在标准的C++中,这种用法并不存在。
那么,当我们说“C++中super
调用的缺失”时,我们实际上是在讨论两种情况:
super
关键字:这是事实。C++标准库和核心语言规范中都没有定义super
关键字。因此,任何声称C++中有super
关键字的说法都是不准确的。super
:尽管C++标准中没有super
,但一些编译器或库可能会提供这样的功能作为扩展。例如,某些编译器可能允许你使用类似super()
的语法来调用基类的成员函数。这种情况下,super
的缺失实际上是编译器或库的限制,而不是C++语言本身的设计选择。关于“是限制还是设计选择”的问题:
super
的缺失是由于C++标准中没有定义它,那么这可以被视为一种设计选择。C++标准委员会可能认为没有必要在语言本身中添加这样的关键字,或者他们可能认为可以通过其他方式(如使用函数指针或模板元编程)来实现相同的功能。super
的缺失是由于编译器或库的限制,那么这更多地是一个技术限制,而不是设计选择。在这种情况下,开发者可能需要寻找其他方法来实现他们想要的功能,或者他们可能需要使用不同的编译器或库。总之,C++中super
调用的缺失主要是由于C++标准中没有定义它,这可以被视为一种设计选择。然而,在某些编译器或库中,这种缺失可能是由于技术限制造成的。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。