gpt4 book ai didi

c++ - 将 main 声明为被认为有害的 friend ?

转载 作者:IT老高 更新时间:2023-10-28 22:34:18 26 4
gpt4 key购买 nike

讨论

我知道 main 可以成为 class 的 friend :

#include <iostream>

class foo {
friend int main();
int i = 4;
};

int main() {
foo obj;
std::cout << obj.i << std::endl;
}

LIVE DEMO

然而,我觉得虽然这是完全可以允许的,但它隐藏了许多危险。

问题

  1. main 成为类(class)的 friend 有什么有值(value)的用途吗?
  2. 是否有任何理由将 main 声明为类的 friend 应该被视为有害?

最佳答案

如果该功能实际上不合法,则选择使用还是避免使用该合法功能将变得毫无意义。我相信对此存在严重疑问,因为标准说

The function main shall not be used within a program.

关于是否允许与 ::main() 成为 friend 已经存在一个问题,您可以在 my answer there 中找到更多详细信息。 .

关于c++ - 将 main 声明为被认为有害的 friend ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25070030/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com