由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - Is this a poor practice?
相关主题
请问关于函数的局部变量Initialization list的一个问题
go中如何在一行中定义多个不同类型的局部变量,并且初始化?问个C++编译器如何处理函数内的static 变量
C++11的lambda不会破坏可读性吗?Makefile的问题
c的小问题问个内存的问题
这两种写法性能差别大吗?问个C++ 编译器临时变量的问题 (转载)
为什么会有这么多的effective xxx以下两个C 代码是不是完全等价?
C语言的变量都一定要放在stack上吗?老码农冒死揭开行业黑幕:如何编写无法维护的代码(zz)
问个问题面试题:debug: 函数return to a wrong place
相关话题的讨论汇总
话题: int话题: poor话题: practice话题: plusone话题: 变量
进入Programming版参与讨论
1 (共1页)
c**********e
发帖数: 2007
1
假设有如下函数:
int plusOne(int x) {
x++;
return x;
}
这种写法是不是很蠢?因为 x 既是输入变量又是一个局部变量。
对于这个具体问题来说,当然我们可以写成
int plusOne(int x) {
return x+1;
}
但是有时候复杂一点的情况,没法这么做。是不是得写成下面这样子?
int plusOne(int x) {
int y=x+1;
return y;
}
输入变量和一个局部变量倒是分清了,只是要多用一个变量。
大侠们怎么看?
d****n
发帖数: 1637
2
Do some real projects rather than be paranoid in details will help your
career changing a lot more.
a9
发帖数: 21638
3
一样的吧。
还不如
int *plusOne(int *x){
++(*x);
return x;
}

【在 c**********e 的大作中提到】
: 假设有如下函数:
: int plusOne(int x) {
: x++;
: return x;
: }
: 这种写法是不是很蠢?因为 x 既是输入变量又是一个局部变量。
: 对于这个具体问题来说,当然我们可以写成
: int plusOne(int x) {
: return x+1;
: }

c**********e
发帖数: 2007
4
老大,我能把一个大项目的贴在这里吗?即便我能贴在这儿,您有时间仔细看吗?没办
法,只有把问题提炼出来再问。

【在 d****n 的大作中提到】
: Do some real projects rather than be paranoid in details will help your
: career changing a lot more.

d****n
发帖数: 1637
5
我错了
x****u
发帖数: 44466
6
不必管这些细节,编译器都给你优化掉。

【在 c**********e 的大作中提到】
: 假设有如下函数:
: int plusOne(int x) {
: x++;
: return x;
: }
: 这种写法是不是很蠢?因为 x 既是输入变量又是一个局部变量。
: 对于这个具体问题来说,当然我们可以写成
: int plusOne(int x) {
: return x+1;
: }

f**********2
发帖数: 2401
7
这属不属于回的四种写法问题?觉得能用就行了,效率也差不多,没区别
m*****e
发帖数: 4193
8

LOL

【在 f**********2 的大作中提到】
: 这属不属于回的四种写法问题?觉得能用就行了,效率也差不多,没区别
X****r
发帖数: 3557
9
通常情况下,不是修改已有变量的值而是用一个新变量会增加程序的可读性,也更不容
易出错。
当然,这个不适用于循环里的累加器之类的情况。

【在 c**********e 的大作中提到】
: 假设有如下函数:
: int plusOne(int x) {
: x++;
: return x;
: }
: 这种写法是不是很蠢?因为 x 既是输入变量又是一个局部变量。
: 对于这个具体问题来说,当然我们可以写成
: int plusOne(int x) {
: return x+1;
: }

x****u
发帖数: 44466
10
现在编译器都给你处理掉。

【在 X****r 的大作中提到】
: 通常情况下,不是修改已有变量的值而是用一个新变量会增加程序的可读性,也更不容
: 易出错。
: 当然,这个不适用于循环里的累加器之类的情况。

g*****g
发帖数: 34805
11
你如果有大项目调优的经验,就知道性能从来不是从这些
地方抠出来的。写可读性好的代码比别的有用得多。
c***r
发帖数: 4631
12
你这三个编译之后都是
movl 4(%esp), %eax
incl %eax
ret
g******n
发帖数: 253
13
正解

【在 x****u 的大作中提到】
: 不必管这些细节,编译器都给你优化掉。
1 (共1页)
进入Programming版参与讨论
相关主题
面试题:debug: 函数return to a wrong place这两种写法性能差别大吗?
关于针对接口的unit test为什么会有这么多的effective xxx
目前来看,魏老师是真刷子,好虫没亮招,权且判断是花活C语言的变量都一定要放在stack上吗?
急问:问一段code是不是好的Practice,是什么意思?问个问题
请问关于函数的局部变量Initialization list的一个问题
go中如何在一行中定义多个不同类型的局部变量,并且初始化?问个C++编译器如何处理函数内的static 变量
C++11的lambda不会破坏可读性吗?Makefile的问题
c的小问题问个内存的问题
相关话题的讨论汇总
话题: int话题: poor话题: practice话题: plusone话题: 变量