首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >c++调制码

c++调制码
EN

Stack Overflow用户
提问于 2015-06-21 06:16:22
回答 2查看 361关注 0票数 0

我听说,最好的做法是“调整”您的代码,以尽量减少您的代码依赖于您的代码的其他部分。

如果我有float

代码语言:javascript
复制
float X = 1000;

和一个使用X的函数

代码语言:javascript
复制
void A()
{
    //use X
}

更好的做法是直接使用X,还是使用这样的传递参数:

代码语言:javascript
复制
void A(float param)
{
    //use param
}

就这样叫它:

代码语言:javascript
复制
A(X);

还是简化使用第一个函数?

EN

回答 2

Stack Overflow用户

发布于 2015-06-21 06:23:53

决定某个东西是参数还是全局的最好的经验法则就是“你会用不同的参数调用它吗?”也就是说,A是否需要X的不同值?

如果X是一个常量,比如字节中的位数或重力常数,那么就把它变成一个常数,不要浪费时间把它作为一个参数传递进来。另一方面,如果调用不同,则请将其作为参数。

此外,不要不必要地模块化。如果您只在一个地方使用A,而A并不特别长,那么最好将它放在行中--这将减少人们为理解您的代码而必须阅读的代码数量。

票数 1
EN

Stack Overflow用户

发布于 2015-06-21 06:23:58

如果您只为函数X全局声明A(),那么就不应该声明它,而是在main中在本地声明它,并通过参数传递它。

另外,如果您只为函数声明X并希望修改它的值,则应该通过引用传递它。

代码语言:javascript
复制
void main ()
{
    float X = 1000;
    A(&X)
}

void A(float *ptr)
{
    // Do operations with *ptr which has the value of X in main()
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30961823

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档