Fortran中的运算符重载而没有诸如朋友函数(C ++)之类的未创建对象

布鲁诺

我想知道在Fortran中是否有类似于C ++中的“朋友功能”。我希望能够在不创建新对象的情况下使运算符重载,因为它太昂贵了。我已经尝试在模块中创建对象,并尝试使重载的运算符返回它,但未成功。

伊恩

您对friendC ++含义的理解不正确。这就涉及到朋友函数内部私有类成员的可访问性,而不是作为操作员重载的一部分来创建对象。Fortran的可访问性模型是不同的-在同一模块中与类型定义的任何过程都是“朋友”,在可访问性方面,没有与成员函数等效的过程。

两种语言中表达评估的语义都要求运算符的源实现创建一个新的对象来存储运算结果。花哨的编译器优化在某些情况下可能会阻止实际为函数结果创建临时变量,但这在很大程度上取决于细节。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在模板类中创建使朋友运算符重载的模板

来自分类Dev

有没有办法为容器类型创建运算符/函数重载

来自分类Dev

C ++中的运算符重载带有整数和对象

来自分类Dev

C ++:重载“对象指针” *运算符

来自分类Dev

我如何重载赋值运算符,以允许我的类等于诸如“ int”之类的原始类型

来自分类Dev

当没有非const运算符重载时,非const对象会使用const运算符吗?

来自分类Dev

朋友模板重载运算符<<:未解析的外部符号

来自分类Dev

C ++重载运算符:对象=对象*对象

来自分类Dev

没有新运算符的对象

来自分类Dev

重载C ++运算符以将对象中的指针设置为其他对象

来自分类Dev

std ::查找具有重载==运算符的对象的向量

来自分类Dev

为什么可以在JavaScript中减去Date对象?是否有任何形式的运算符重载?

来自分类Dev

C ++类的重载运算符未调用

来自分类Dev

C ++内联运算符重载,引用当前对象

来自分类Dev

重载-> C ++中的运算符可返回自定义对象

来自分类Dev

将对象传递给函数时,我必须重载哪些运算符才能查看所有操作?

来自分类Dev

C ++:使模板运算符=重载朋友

来自分类Dev

用于具有不同数据类型的两个对象的 C++ 重载 + 运算符

来自分类Dev

为什么运算符重载实现中的两个静态对象在c ++中始终相等?

来自分类Dev

C#如何在自定义结构中创建许多类似的运算符重载

来自分类Dev

C#如何在自定义结构中创建许多类似的运算符重载

来自分类Dev

运算符重载:从成员函数调用朋友函数

来自分类Dev

未捕获的TypeError:对象不是对象创建时的函数

来自分类Dev

C ++:在函数内创建新对象并返回结果时,是否必须使用new运算符创建对象?

来自分类Dev

用C ++中的非朋友方法重载I / O运算符 &istream和&ostream函数

来自分类Dev

未创建带有 fstream 对象的文件对象

来自分类Dev

如何重载==运算符而不使其成为朋友函数?

来自分类Dev

查找与符号运算符重载且私有的对象的地址

来自分类Dev

Qt-具有重载运算符的<< DataDataStream <<用于对象指针(Class *)

Related 相关文章

  1. 1

    在模板类中创建使朋友运算符重载的模板

  2. 2

    有没有办法为容器类型创建运算符/函数重载

  3. 3

    C ++中的运算符重载带有整数和对象

  4. 4

    C ++:重载“对象指针” *运算符

  5. 5

    我如何重载赋值运算符,以允许我的类等于诸如“ int”之类的原始类型

  6. 6

    当没有非const运算符重载时,非const对象会使用const运算符吗?

  7. 7

    朋友模板重载运算符<<:未解析的外部符号

  8. 8

    C ++重载运算符:对象=对象*对象

  9. 9

    没有新运算符的对象

  10. 10

    重载C ++运算符以将对象中的指针设置为其他对象

  11. 11

    std ::查找具有重载==运算符的对象的向量

  12. 12

    为什么可以在JavaScript中减去Date对象?是否有任何形式的运算符重载?

  13. 13

    C ++类的重载运算符未调用

  14. 14

    C ++内联运算符重载,引用当前对象

  15. 15

    重载-> C ++中的运算符可返回自定义对象

  16. 16

    将对象传递给函数时,我必须重载哪些运算符才能查看所有操作?

  17. 17

    C ++:使模板运算符=重载朋友

  18. 18

    用于具有不同数据类型的两个对象的 C++ 重载 + 运算符

  19. 19

    为什么运算符重载实现中的两个静态对象在c ++中始终相等?

  20. 20

    C#如何在自定义结构中创建许多类似的运算符重载

  21. 21

    C#如何在自定义结构中创建许多类似的运算符重载

  22. 22

    运算符重载:从成员函数调用朋友函数

  23. 23

    未捕获的TypeError:对象不是对象创建时的函数

  24. 24

    C ++:在函数内创建新对象并返回结果时,是否必须使用new运算符创建对象?

  25. 25

    用C ++中的非朋友方法重载I / O运算符 &istream和&ostream函数

  26. 26

    未创建带有 fstream 对象的文件对象

  27. 27

    如何重载==运算符而不使其成为朋友函数?

  28. 28

    查找与符号运算符重载且私有的对象的地址

  29. 29

    Qt-具有重载运算符的<< DataDataStream <<用于对象指针(Class *)

热门标签

归档