VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1262|回复: 10

static函数里面嵌套static函数会有不利影响吗?

[复制链接]

1

主题

7

帖子

5.00

积分

新手上路

Rank: 1

积分
5.00
发表于 2020-3-5 09:00:02 | 显示全部楼层 |阅读模式
class TestClass
{
    public static void FunA()
    {
    }
   
    public static void FunB()
    {
         TestClass.FunA();
    }
}
比如性能上,并发上?

谢谢
回复

使用道具 举报

0

主题

110

帖子

63.00

积分

新手上路

Rank: 1

积分
63.00
发表于 2020-5-20 21:15:02 | 显示全部楼层
给人的感觉不是很好..

虽然不知道具体会有什么影响,但建议最好不要这么用..
回复

使用道具 举报

2

主题

29

帖子

16.00

积分

新手上路

Rank: 1

积分
16.00
发表于 2020-5-23 03:15:01 | 显示全部楼层
我觉得没什么不好,应为函数都是在代码段的,member函数与static函数也就差在编译的时候,编译器会给member函数加入class const *this指针,反而会更加花时间.
回复

使用道具 举报

0

主题

14

帖子

12.00

积分

新手上路

Rank: 1

积分
12.00
发表于 2020-5-25 10:30:01 | 显示全部楼层
没什么不好,反而更快
ls说的很清楚了
回复

使用道具 举报

0

主题

110

帖子

63.00

积分

新手上路

Rank: 1

积分
63.00
发表于 2020-5-30 23:15:01 | 显示全部楼层
TO:我觉得没什么不好,应为函数都是在代码段的,member函数与static函数也就差在编译的时候,编译器会给member函数加入class const *this指针,反而会更加花时间.

照你的意思,那把所有的成员函数都做成静态函数得了,那样速度不更快?

我初学C#,我也是发表我的看法,仅供参考..
回复

使用道具 举报

0

主题

110

帖子

63.00

积分

新手上路

Rank: 1

积分
63.00
发表于 2020-5-31 12:15:01 | 显示全部楼层
当然也得分具体情况,什么事都不是绝对的,这样用肯定不会出错,除了会对封装有一定的影响外,具体还有什么样的影响,我也不是很清楚..

意见仅供参考..
回复

使用道具 举报

0

主题

14

帖子

12.00

积分

新手上路

Rank: 1

积分
12.00
发表于 2020-6-3 15:45:08 | 显示全部楼层
“照你的意思,那把所有的成员函数都做成静态函数得了,那样速度不更快?”

确实会更快,但是静态函数访问对象的数据很麻烦,因为不能用this,呵呵
还有静态函数里调用静态函数怎么影响封装了?
回复

使用道具 举报

0

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-6-7 05:30:01 | 显示全部楼层
如果FunA在执行,又调用了FunB.static变量不就乱了吗
回复

使用道具 举报

0

主题

14

帖子

12.00

积分

新手上路

Rank: 1

积分
12.00
发表于 2020-6-8 10:45:01 | 显示全部楼层
//如果FunA在执行,又调用了FunB.static变量不就乱了吗//

这个多线程的问题啊,lock那个变量就行了啊
和静态函数有什么关系?普通函数在多线程情况下也会遇到这种问题的
回复

使用道具 举报

0

主题

110

帖子

63.00

积分

新手上路

Rank: 1

积分
63.00
发表于 2020-6-30 02:00:01 | 显示全部楼层
TO:lygzgs

不好意思,可能我的说法有误,呵呵..

关于这种用法好不好,我也只是发表我的看法,万事都没有一个绝对,还得看具体情况吧..
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表