在检查代码库时,我遇到了类似于以下内容的语句:
new Class().MemberFunction();
此语句实际上在做什么?是否在不创建此类的对象的情况下调用成员函数?
答案 0 :(得分:1)
它正在创建Class
的新实例-正如您可以清楚地看到代码的new Class()
部分-唯一不常见的地方是它不存储引用该实例,但只需使用它来调用MemberFunction();
。
这意味着任何想要执行MemberFunction()
的人都不需要保留对特定实例的引用(这反过来可能意味着MemberFunction()
应该转换为静态方法,但是没有足够的信息可以确定)。
答案 1 :(得分:0)
创建一个新类(由于'new')
启动您调用的MemberFunction()
这意味着,它无法满足您的实际需求。
即使是静态的,也已经创建了一次类。