游戏开发论坛

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

请教const的问题,百思不得其解

[复制链接]

9

主题

32

帖子

36

积分

注册会员

Rank: 2

积分
36
发表于 2010-6-13 11:18:00 | 显示全部楼层 |阅读模式
const不是可以把一个全局变量由外部链接变为内部链接吗?
但是具有内部链接的变量是不允许作为nontype template argument的,所以如下代码应该会编译报错:


  1. template < int x >
  2. class A
  3. {
  4. public:
  5.         A()
  6.         {
  7.                 cout<<x;
  8.         };
  9. };

  10. const int a = 3;

  11. int main()
  12. {  
  13.         A<a> k;     
  14. }
复制代码

可是奇怪的是居然通过了,请高人指教

9

主题

32

帖子

36

积分

注册会员

Rank: 2

积分
36
 楼主| 发表于 2010-6-13 12:02:00 | 显示全部楼层

Re:请教const的问题,百思不得其解

汗,糊涂了,const int a = 3;是常量。请斑竹删帖

3

主题

62

帖子

68

积分

注册会员

Rank: 2

积分
68
发表于 2010-6-13 13:49:00 | 显示全部楼层

Re:请教const的问题,百思不得其解

const int a=3 也不是常量,只是说明a不能被修改而已

362

主题

3023

帖子

3553

积分

论坛元老

Rank: 8Rank: 8

积分
3553
发表于 2010-6-13 22:54:00 | 显示全部楼层

Re:请教const的问题,百思不得其解

const int a=3. 会被实现为常量。因为既然不能修改,那意义就和常量(立即数)一样。

3

主题

263

帖子

267

积分

中级会员

Rank: 3Rank: 3

积分
267
发表于 2010-6-25 00:51:00 | 显示全部楼层

Re:请教const的问题,百思不得其解

路过,顶楼上.
instemast兄终于不研究理论了,呵呵.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-6-8 12:00

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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