![]() |
1
3
STL返回引用的原因是因为模板化的代码不具备知道返回对象很小的奢侈。当一个
注意你的方法
另外,将索引参数声明为
最后,您真的确定您的类需要具有动态多态性(即,具有虚拟方法)吗?STL容器故意设计为不被继承(这就是为什么它们没有
|
![]() |
2
2
在模板类中有一个虚拟函数是不常见的。如果函数不是虚拟的,编译器通常会内联代码,并将按引用返回和按值返回之间的差异优化为零。 如果一个函数不是通过指针或引用调用的,编译器可能仍然会内联它——在这种情况下,编译器将知道要调用的确切成员函数,并且不需要通过vtable查找它。 有一个参考的费用将很小,只是一个单一的取消参考。它甚至可能不是汇编级别的一个完整指令。 |
![]() |
AstralHex · 矩阵乘法代码工作不正常 3 月前 |
![]() |
Fishie · 作为类成员的智能指针是否仍然自动释放?[关闭] 3 月前 |
![]() |
Die4Toast · 递归调用成员箭头运算符-> 3 月前 |
![]() |
Anka Hanım · 关于结构和动态数组地址的问题 3 月前 |