游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2928|回复: 6

问个VS2005指针问题。麻烦帮忙解决!!!

[复制链接]

7

主题

29

帖子

33

积分

注册会员

Rank: 2

积分
33
发表于 2008-12-7 14:04:00 | 显示全部楼层 |阅读模式
在很多书中,我见到会教如果函数的变量不需要改变的话。就最好写为常量:即const修饰

例如:我写一个函数声明:print(const char const *,const char const *);

然后定义:print(const char const *firstName,const char const *lastName)
{
    cout<<firstName<<' '<<lastName;
}

在VC6.0
没有警告的...

但最近转用了VS2005....一编译....竟然说我重复const.......
结果我试了试...好似   print(const char const *,const char const *);
下面定义的时候
print(const char *firstName,const char *lastName)..这样写也没问题了....

是不是指针常量没有用了呢.在这种情况下.......................

0

主题

4

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2008-12-8 18:37:00 | 显示全部楼层

Re:问个VS2005指针问题。麻烦帮忙解决!!!

哥哥  明显多了一个const
做你要做的事情 只需要写  const char *  就足够了
记得是如果要实现指针和指针内容都常量的话
要写 const char * const  
const 位于*的前后代表不同的意义

0

主题

4

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2008-12-8 18:39:00 | 显示全部楼层

Re:问个VS2005指针问题。麻烦帮忙解决!!!

还有少用 char * 吧
都是以前老一套的东西了
多用STL的String代替这个东西
如果你一定要用老的API的话
可用c_str()成员函数将String转化为char *

7

主题

29

帖子

33

积分

注册会员

Rank: 2

积分
33
 楼主| 发表于 2008-12-11 15:21:00 | 显示全部楼层

Re:问个VS2005指针问题。麻烦帮忙解决!!!

谢谢。非常感谢。。原来是我自己概念错误。。。。。我想用指针常量的。。结果是放在*前还是后搞错了。。

PS:我还是初学者呢。。。。。。自己看书摸索的。还没学到什么STL。T_T....

201

主题

1437

帖子

1963

积分

金牌会员

Rank: 6Rank: 6

积分
1963
QQ
发表于 2009-1-11 21:16:00 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

0

主题

3

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2009-3-24 17:57:00 | 显示全部楼层

Re: Re:问个VS2005指针问题。麻烦帮忙解决!!!

dreamsun: Re:问个VS2005指针问题。麻烦帮忙解决!!!

还有少用 char * 吧
都是以前老一套的东西了
多用STL的String代替这个东西
如果你一定要用老的API的话
可用c_str()成员函数将String转化为char *

看自己需求了
不可否认的是string的性能和没有C风格字符那么自由

5

主题

68

帖子

90

积分

注册会员

Rank: 2

积分
90
QQ
发表于 2009-3-28 02:50:00 | 显示全部楼层

Re:问个VS2005指针问题。麻烦帮忙解决!!!

c_str() 返回的是 const char * 谢谢,并不能直接赋值到一个char* 中,最好使用 strcpy()来做
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-12-20 17:26

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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