小弟又来了,跪求各位大大帮忙!

Eason.wxd
博客专家认证
2012-02-28 04:57:11
上次那个问题,首先感谢各位大大的帮忙,小弟很感激,这几天又产生新问题了,恳请各位。。。
问题一:
int,short,char, unsigned int诸如此类的数据类型的使用问题。
首先,int,和short,在性能上有区别吗?之前看到相关资料说,性能上,short int不如int ,因为编译器会把short int处理成int再做计算。类似这样,我想问,int 和short在性能上那个好,其次,unsigned int 和int在性能上那个好,前提是,能用short int和unsigned int。。。



问题二:

比如一个数组,或者指针。在函数之间用的时候,是定义为类成员好呢,还是作为变量,在函数之间传递好呢?


最后:

还请大大推荐本高级点的C/C++书籍。要高质量的编程效果、谢谢了//
...全文
216 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangmingtmac 2012-02-29
  • 打赏
  • 举报
回复
int , short, char, unsigned int, long int 有一些区别,但是平时可以忽略不计,因为不影响程序的效率
AnYidan 2012-02-28
  • 打赏
  • 举报
回复
int,short,char, unsigned int即使在性能上有区别,也不是影响程序效率的瓶颈,99%以上可以忽略之

至于问题二,要看你的具体应用,要便于封装,降低耦合度,又要有一定的灵活性
viktor 2012-02-28
  • 打赏
  • 举报
回复
1.这个我觉得并不重要。算法上的优化才是对效率最大的提升。如果优化已经精确到int和short级别了,请直接使用汇编或者纯C……

字长方面,重要的是在非32位平台上,一定要弄清楚指针和各种int型的长度。否则会死的很惨……比如我

2. C++有很高的自由度。只要你控制的过来,想怎么传都行。比如:如果这个是单独的、共享的buffer数组,而且你保证任何时候只有一个函数会访问这个buffer,那么大可以做成共享的(我觉得单线程情况下很好用)。
而如果要和C兼容或者保持效率,就直接传指针或者引用。有时候int参数和int &的速度区别还是非常大的!

3. 高质量的编程效果。那要看哪一方面。追求高动态性扩展性,还是高效率,还是适合协作别人看得懂
想要三者兼有,我还不会
xzjlcyz 2012-02-28
  • 打赏
  • 举报
回复
①当你做的是嵌入式开发的时候,区别很大!主要考虑的是占用内存,嵌入式机器的配置是不能和PC机比较的!unsigned int 和int,这个如果在PC机上是用来做什么。如果确定不会出现负数就用unsigned int。习惯性是这样区分的!
②要不要作为类的成员,我觉得还是要看跟类的相关性大不大!具体情况具体分析。类的变量和函数可以理解为类的属性和方法,如果类有这个属性方法就加上,没有就不要加!
③我不知道你要学c还是要学c++,不要试图一次性学两个!会晕的。额,如果你是天才,当我没说!这两个都很难!确实有难度!《高质量C++C编程指南》,这本书,额,我只推荐经典。看了就知道!其它的,要看你学到什么程度吧!
justkk 2012-02-28
  • 打赏
  • 举报
回复
作为函数参数传递,更便于函数自身的复用
justkk 2012-02-28
  • 打赏
  • 举报
回复
除非内存占用是一个关键考虑因素,一般不使用short

作为函数参数传递,应该更便于调用
luciferisnotsatan 2012-02-28
  • 打赏
  • 举报
回复
C++ primer
effective系列
自信男孩 2012-02-28
  • 打赏
  • 举报
回复
至于使用unsigned int 和 int 以及short int 和 int那个比较好,这要根据你的需要来定的。比如:unsigned int 和 int的区别是无符号和有符号,首先是他们的取值范围就不一样。如果你的数据是非负数,并且值大于int类型的最大值,那么你需要定义为unsigned int。比如,你在定义一个接收内存地址的变量时。
问题二,把指针或者数组定义为类成员变量便于管理,如果定义的指针或者数组和类中其他成员关系比较大,建议定义为类成员变量。
《C programming language》
ma100 2012-02-28
  • 打赏
  • 举报
回复
short 性能不如int, 但有的编译器优化选项可以解决, 而且除非嵌入式系统, 否则看不出差别
unsigned 与否无关

当然是类成员好

69,369

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧