游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1909|回复: 4

新手咨询:C++关于变量、指针应用问题

[复制链接]

76

主题

1100

帖子

1107

积分

金牌会员

Rank: 6Rank: 6

积分
1107
发表于 2007-7-28 00:18:00 | 显示全部楼层 |阅读模式
新手咨询:关于变量、指针问题

个人是一个学C++程序的策划。最近想结合C++程序整理关于数值在脚本里实现应用的优化,但陷入一个思维逻辑困境.就是变量和指针到底哪个实用,需要变量还是指针,如下例子:

如下如果脚本里使用函数来解决数值计算,比如法师攻击变量名我们定义为magic_attack
考虑到部分函数里的公式是可以通用到其他数值变量里的,所以想到了函数来编写公式应用和通用的问题;
部分代码例子:

int magic_attack; //取整
int attack_m(int dex,int str,int agi); //定义一个魔法攻击力计算函数

int main()
{  magic_attack=attack_m(5,6,4);
   cout<<"魔法攻击力="<<magic_attck;

   return 0;
}

int attack_m(int dex,int str,int agi)
{
return str*2+dex/30+(agi*agi)/2;  //数值公式

}

那么在这个里面。是否可以使用指针来进行计算呢?那么有什么好处和实用性?最近看了下函数指针引用,但依然没法联想到和数值函数的功用结合和好处.难道是计算快一些还是???很矛盾这个变量和指针在实际应用里的关系处理问题.
跪求解答.


103

主题

1432

帖子

1458

积分

金牌会员

Rank: 6Rank: 6

积分
1458
QQ
发表于 2007-7-28 11:06:00 | 显示全部楼层

Re:新手咨询:C++关于变量、指针应用问题

指针会更慢,你以为会快么。
但是指针有可好处,就是可以重定向。
比如指向A后,有可以修改指向B。

这个东西很有用,比如函数指针。 你可以写好两个函数,他们的算法不一样,然后用一个指针来调用他们两个,因为都是通过指针来调用,就不需要改调用的逻辑。


void A()
{
      cout << "A()" << endl;
}

void B()
{
       cout << "B()" << endl;
}

void run( void (*ptr)() ) //调用算法不用做什么,就可以调用A或B
{
     ptr();
}

int main()
{
         void (*ptr)();
          if ( 某某条件成立)
                ptr = A;
           else
                ptr = B;
          run( ptr );//根据程序逻辑调用A,或B

}

76

主题

1100

帖子

1107

积分

金牌会员

Rank: 6Rank: 6

积分
1107
 楼主| 发表于 2007-7-28 14:37:00 | 显示全部楼层

Re:新手咨询:C++关于变量、指针应用问题

函数指针引用是有趣的事情.在思考有无其他更好的方式;

76

主题

1100

帖子

1107

积分

金牌会员

Rank: 6Rank: 6

积分
1107
 楼主| 发表于 2007-7-29 19:39:00 | 显示全部楼层

Re:新手咨询:C++关于变量、指针应用问题

有一些道理。最近在思考其他方式.都是类和对象的表述.

103

主题

1432

帖子

1458

积分

金牌会员

Rank: 6Rank: 6

积分
1458
QQ
发表于 2007-7-31 09:33:00 | 显示全部楼层

Re:新手咨询:C++关于变量、指针应用问题


在学习初期,人习惯有很多想法,这是思维的活跃期。
但是这些想法往往都是不符实际的。
虽然不能说没意义,但是切不可以忘了学习的根本就是看书,获许更多知识,修正自己认识的盲点。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-25 15:42

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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