首页 > 试题广场 >

请你说说虚函数可以是内联函数吗

[问答题]
请你说说虚函数可以是内联函数吗
没有多态性质时也不会用虚函数啊
发表于 2022-07-21 14:52:44 回复(0)
有意思
发表于 2022-05-03 01:16:20 回复(0)
内联是在编译期建议编译器内联,而虚函数的多态性在运行期,编译器无法知道运行期调用哪个代码,因此虚函数表现为多态性时不可以内联。
发表于 2022-07-31 14:32:53 回复(0)
虚函数可以是内联函数,内联是可以修饰虚函数的,但是当虚函数表现多态性的时候不能内联。
发表于 2023-08-11 20:29:21 回复(0)
可以是,但是内联之后不能表现出虚函数的多态性,因为虚函数的多态性是在运行期,内联函数是在编译器,所以编译器不能知道运行期间调用那个代码
发表于 2023-01-30 10:03:01 回复(0)
1. 虚函数可以是内联函数,内联是可以修饰虚函数的,但是当虚函数表现多态性的时候不能内联。 2. 内联是在编译期建议编译器内联,而虚函数的多态性在运行期,编译器无法知道运行期调用哪个代码,因此虚函数表现为多态性时不可以内联。 3. inline virtual 唯一可以内联的时候是:编译器知道所调用的对象是哪个类,这只有在编译器具有实际对象而不是对象的指针或引用时才会发生。
发表于 2024-05-21 09:47:23 回复(0)
虚函数可以是内联函数,但是当虚函数表现多态性的时候不能内联。内联是在编译期建议编译器内联,而虚函数的多态性是在运行期呈现的,编译器无法知道运行程序时调用的是哪部分代码,所以虚函数有多态性的时候不可以内联。
编辑于 2024-04-09 14:26:28 回复(0)
内联函数是为了在代码中直接展开,减少函数调用花费的代价,虚函数是为了在继承后对象能够准确的执行自己的动作,这是不可能统一的。(inline)内联函数是在编译时期展开,而虚函数的特性是运行时才动态联编,所以两者矛盾,不能定义内联函数为虚函数
编辑于 2024-04-08 20:56:59 回复(0)
不可以,虚函数是用于多态实现的,父类指针指向的对象可能是子类,用父类指针调用虚函数取决于虚函数表中的函数地址是父类虚函数函数地址还是子类虚函数函数地址;而内联函数会在编译阶段就替换函数调用的地方为函数体,虚函数是在运行的时候决定的,所以不能替换
发表于 2024-03-28 16:44:11 回复(0)
内联函数可以是虚函数,在动态多态得时候不能是
编辑于 2024-03-18 21:35:22 回复(0)
内联函数:为避免一些简单函数的重复调用所花费的额外开销,建议编译器在调用该函数时将函数直接在调用处展开。正常来讲,当虚函数所执行的操作符合上述条件,也是可以被内联修饰的。 当虚函数被用来实现多态时是不可以被修饰为内联函数的,因为此时虚函数并不知道在运行期调用哪个代码,所以不可内联。
发表于 2024-03-18 21:04:51 回复(0)
1. inline virtual 合法:但是应用场景是,编译器知道这个虚函数会调用那个函数,也就是,此时的虚函数没有表现出多态性。 2. inline是编译其起作用,virtual是运行时起作用。 3. inline只是起到建议的作用,最终是否按照内联函数展开,还是得编译器决定
发表于 2023-11-11 09:30:41 回复(0)
可以 内联函数不能表现出多态性
发表于 2022-05-18 14:38:11 回复(0)